基于盒模型的懶加載

懶加載,是對網(wǎng)頁瀏覽時的優(yōu)化蝌戒,提升網(wǎng)頁的加載速度串塑,增加用戶的體驗(yàn)友好度。像淘寶北苟、京東這些大型商城首頁桩匪,圖片內(nèi)容都非常多,如果一次性就加載完友鼻,肯定會花費(fèi)很多時間傻昙,增加用戶的等待時間。懶加載的原理就是未進(jìn)入屏幕的盒模型不加載數(shù)據(jù)桃移,用統(tǒng)一的一張圖片來替代屋匕,等到用戶屏幕移入后,再將獲取數(shù)據(jù)借杰。

原理圖:


懶加載.jpg

這是模仿當(dāng)當(dāng)網(wǎng)寫的頁面。
加載數(shù)據(jù)只在瀏覽頁面時發(fā)生一次进泼,所以必須要給每個盒子加個開關(guān)蔗衡,當(dāng)數(shù)據(jù)加載時,這個盒子就false乳绕,不加載绞惦。

下面先放效果圖:


懶加載效果.gif

在獲取數(shù)據(jù)時,是來至于不同的接口洋措,如果給每個盒子單獨(dú)寫一個事件济蝉,肯定會造成代碼冗余铺根,也增加了工作。
最后想到給每個獲取數(shù)據(jù)的ajax單獨(dú)封裝函數(shù)惋鸥。
在js中际起,所有的.(點(diǎn))都可以寫成[]

 this.getdata.guesslike()

所以這個函數(shù)可以寫成這用;

 this.getdata[guesslike]()

[]中,我們可以寫入變量雁乡。
最后就成了這樣:

this.getdata[id]();

函數(shù)名跟盒模型的id名是相同的第喳,在滾動過程中,當(dāng)屏幕進(jìn)入相應(yīng)的盒模型時踱稍,就會執(zhí)行相對應(yīng)的函數(shù)曲饱,獲取數(shù)據(jù),同時再將盒子顯示就行珠月。

var bstop=[];
for(var i=0;i<oBox.size();i++){//添加開關(guān)
    oBox.eq(i).attr('inx',i);
    bstop[i]=true;
}
//$(window).scrollTop+box.height()>=box.offset().top>=$(window).scrollTop;
$(window).on('scroll load',function(){//滾輪事件
    var mintop=$(window).scrollTop()+$(window).height();
    oBox.each(function(i){//循環(huán)每個盒子,獲取top值;
        var maxtop=oBox.eq(i).offset().top+oBox.height();
        if(oBox.eq(i).offset().top<=mintop && $(window).scrollTop()<=maxtop){
            var id=oBox.eq(i).parent().attr('id');//獲取id扩淀,即函數(shù)名;
            if(bstop[i]){
                that.getdata[id](i);//當(dāng)盒模型進(jìn)入屏幕時,執(zhí)行相應(yīng)的函數(shù);
                bstop[i]=false;//只獲取一次數(shù)據(jù)
            }
        }
    })
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末啤挎,一起剝皮案震驚了整個濱河市引矩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌侵浸,老刑警劉巖旺韭,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異掏觉,居然都是意外死亡区端,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門澳腹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來织盼,“玉大人,你說我怎么就攤上這事酱塔×ち冢” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵羊娃,是天一觀的道長唐全。 經(jīng)常有香客問我,道長蕊玷,這世上最難降的妖魔是什么邮利? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮垃帅,結(jié)果婚禮上延届,老公的妹妹穿的比我還像新娘。我一直安慰自己贸诚,他們只是感情好方庭,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布厕吉。 她就那樣靜靜地躺著,像睡著了一般械念。 火紅的嫁衣襯著肌膚如雪头朱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天订讼,我揣著相機(jī)與錄音髓窜,去河邊找鬼。 笑死欺殿,一個胖子當(dāng)著我的面吹牛寄纵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播脖苏,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼程拭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了棍潘?” 一聲冷哼從身側(cè)響起恃鞋,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎亦歉,沒想到半個月后恤浪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肴楷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年水由,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赛蔫。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡砂客,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出呵恢,到底是詐尸還是另有隱情鞠值,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布渗钉,位于F島的核電站彤恶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏晌姚。R本人自食惡果不足惜粤剧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望挥唠。 院中可真熱鬧,春花似錦焕议、人聲如沸宝磨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽唤锉。三九已至世囊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窿祥,已是汗流浹背株憾。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晒衩,地道東北人嗤瞎。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像听系,于是被迫代替她去往敵國和親贝奇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容