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

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

這樣做的好處當然是如果有用戶不需要查看下面的內(nèi)容,則免去了下面所有圖片的請求,這對減少服務器的壓力還是很有幫助的。
實現(xiàn):
其實tudou的實現(xiàn)原理很簡單,
1.先把所有需要延遲加載的圖片的src都設置成同1個小圖片的連接(sprite.gif),把真真圖片的連接放進圖片的alt屬性中,look下代碼:
復制代碼 代碼如下:
<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事件,在該事件里面的重設所有class為lazyImg的圖片的src值,在土豆首頁找到如下JS:
復制代碼 代碼如下:
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);

我沒有去跟入查看TUI.widget.quickPlaylist.load()方法的實現(xiàn),tudou的JS都是壓縮混淆的,看起來挺累,不過大家知道原理就可以了。
實例:
上面說了那么多,最后還是來個實例比較實際點,畢竟眼見為實嘛。
復制代碼 代碼如下:
<!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>
能看的見到圖片:<img src="http://at-img4.tdimg.com/board/2010/5/tylc-115X55.jpg"/>

<div id="lazyBox" style="margin-top:100px;">
一開始看不到的圖片:
<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){
// 滾動高度超過50,加載圖片
hasShow = true;
$("#lazyBox .lazyImg").each(function(){
$(this).attr("src",$(this).attr("alt"));
});
}
});
</script>
</body>
</html>

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

JavaScript技術淺談tudou土豆網(wǎng)首頁圖片延遲加載的效果,轉載需保留來源!

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

主站蜘蛛池模板: 湛江市| 克拉玛依市| 民丰县| 东丰县| 孝昌县| 东光县| 阿坝| 连云港市| 漯河市| 新郑市| 旌德县| 德昌县| 泰安市| 鹿邑县| 安国市| 伊吾县| 鱼台县| 盘锦市| 淳安县| 延边| 南澳县| 沧州市| 越西县| 彩票| 广德县| 忻城县| 峨眉山市| 融水| 乡城县| 信阳市| 武冈市| 交口县| 来安县| 利津县| 琼中| 蒲江县| 曲沃县| 泾川县| 黄浦区| 呼伦贝尔市| 平凉市|