色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

淺談tudou土豆網(wǎng)首頁(yè)圖片延遲加載的效果

這樣做的好處當(dāng)然是如果有用戶不需要查看下面的內(nèi)容,則免去了下面所有圖片的請(qǐng)求,這對(duì)減少服務(wù)器的壓力還是很有幫助的。
實(shí)現(xiàn):
其實(shí)tudou的實(shí)現(xiàn)原理很簡(jiǎn)單,
1.先把所有需要延遲加載的圖片的src都設(shè)置成同1個(gè)小圖片的連接(sprite.gif),把真真圖片的連接放進(jìn)圖片的alt屬性中,look下代碼:
復(fù)制代碼 代碼如下:
<a class="inner" target="new" title="史上最重街舞選手和最柔軟街舞選手" >
<img width="120" height="90" class="pack_clipImg lazyImg" alt="http://i01.img.tudou.com/data/imgs/i/051/720/095/p.jpg" src="http://css.tudouui.com/skin/__g/img/sprite.gif" coords="_DAA"/>
</a>

2. 綁定window.scroll事件,在該事件里面的重設(shè)所有class為lazyImg的圖片的src值,在土豆首頁(yè)找到如下JS:
復(fù)制代碼 代碼如下:
var o=function(){
var s=TUI.pos.scrollTop(),q=c;
if(q.box[0]){
var r=q.box.offset().top;
if(r-s>0&&r-TUI.pos.windowHeight()<s){
q.init()
}else{
q.stop()
}
}
if(!h||s<590){return true}
TUI.widget.quickPlaylist.load();
h=false
};
o();
$(window).bind("scroll",o);

我沒(méi)有去跟入查看TUI.widget.quickPlaylist.load()方法的實(shí)現(xiàn),tudou的JS都是壓縮混淆的,看起來(lái)挺累,不過(guò)大家知道原理就可以了。
實(shí)例:
上面說(shuō)了那么多,最后還是來(lái)個(gè)實(shí)例比較實(shí)際點(diǎn),畢竟眼見(jiàn)為實(shí)嘛。
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/Javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
</head>
<body>
能看的見(jiàn)到圖片:<img src="http://at-img4.tdimg.com/board/2010/5/tylc-115X55.jpg"/>

<div id="lazyBox" style="margin-top:100px;">
一開(kāi)始看不到的圖片:
<img width="120" height="90" style="border:1px solid blue;" class="lazyImg" alt="http://i01.img.tudou.com/data/imgs/i/051/720/095/p.jpg" src="http://css.tudouui.com/skin/__g/img/sprite.gif" coords="_DAA"/>
<img width="120" height="90" style="border:1px solid blue;" class="lazyImg" alt="http://i01.img.tudou.com/data/imgs/i/051/871/396/m20.jpg" src="http://css.tudouui.com/skin/__g/img/sprite.gif" coords="_DBA"/>
</div>
<div style="height:1000px;">
 
</div>
<script type="text/Javascript">
var hasShow = false;
$(window).bind("scroll",function(){
if(hasShow==true){
$(window).unbind("scroll");
return;
}
var t = $(document).scrollTop();
if(t>50){
// 滾動(dòng)高度超過(guò)50,加載圖片
hasShow = true;
$("#lazyBox .lazyImg").each(function(){
$(this).attr("src",$(this).attr("alt"));
});
}
});
</script>
</body>
</html>

把上面代碼copy到本地運(yùn)行下就可以看到效果了。

JavaScript技術(shù)淺談tudou土豆網(wǎng)首頁(yè)圖片延遲加載的效果,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 尼玛县| 武威市| 蛟河市| 阿拉善右旗| 霍山县| 策勒县| 龙州县| 鄢陵县| 平潭县| 台中市| 洛扎县| 东至县| 双流县| 延寿县| 兰州市| 乌恰县| 通辽市| 慈利县| 罗山县| 东兴市| 平江县| 祁阳县| 蒙阴县| 绥滨县| 汪清县| 仲巴县| 习水县| 临安市| 淳化县| 磐安县| 海原县| 临沂市| 泽普县| 米易县| 永年县| 文登市| 麻江县| 曲松县| 绥滨县| 正镶白旗| 临澧县|