亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談tudou土豆網首頁圖片延遲加載的效果

 更新時間:2010年06月23日 12:47:12   作者:  
經常上tudou網,發(fā)現(xiàn)tudou首頁加載圖片的功能很有意思,tudou首頁從"娛樂"這個板塊往下的所有視頻的縮略圖并不是在頁面打開后就加載的,而是當用戶拖動滾動條到了"娛樂"這個板塊,才開始加載圖片的。
這樣做的好處當然是如果有用戶不需要查看下面的內容,則免去了下面所有圖片的請求,這對減少服務器的壓力還是很有幫助的。
實現(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;">
&nbsp;
</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到本地運行下就可以看到效果了。

相關文章

  • 基于JS實現(xiàn)數(shù)字+字母+中文的混合排序方法

    基于JS實現(xiàn)數(shù)字+字母+中文的混合排序方法

    這篇文章主要介紹了基于JS實現(xiàn)數(shù)字+字母+中文的混合排序方法的相關資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • noscript 標簽 一個被忽視的重要標簽

    noscript 標簽 一個被忽視的重要標簽

    這篇文章主要介紹了noscript 標簽 一個被忽視的重要標簽,需要的朋友可以參考下
    2023-03-03
  • 學習JavaScript一定要知道的3個小技巧

    學習JavaScript一定要知道的3個小技巧

    這篇文章主要給大家分享的是學習JavaScript一定要知道的3個小技巧,通常在 Angular 或 React 項目中,code review 時看到一些老式的 JavaScript 代碼,就會將開發(fā)人員歸類為初學者,下面我們就來一起看看初學者需要知道的三個小技巧,需要的朋友可以參考一下
    2021-12-12
  • js contains方法實現(xiàn)代碼

    js contains方法實現(xiàn)代碼

    IE有許多好用的方法,后來都被其他瀏覽器抄襲了,比如這個contains方法。如果A元素包含B元素,則返回true,否則false。唯一不支持這個方法的是IE的死對頭firefox。
    2011-01-01
  • js實現(xiàn)圖片放大展示效果

    js實現(xiàn)圖片放大展示效果

    這篇文章主要介紹了js實現(xiàn)圖片放大展示效果,點擊圖片可查看放大效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 實時編輯網頁網頁文字實時編輯,如同TEXTBOX一般

    實時編輯網頁網頁文字實時編輯,如同TEXTBOX一般

    實時編輯網頁網頁文字實時編輯,如同TEXTBOX一般...
    2007-03-03
  • JavaScript高仿支付寶倒計時頁面及代碼實現(xiàn)

    JavaScript高仿支付寶倒計時頁面及代碼實現(xiàn)

    在支付寶上我們經常會見到支付寶倒計時功能,倒計時應用非常廣泛,下文給大家介紹js制作支付寶倒計時功能,但是里面涉及到,倒計時,彈框,以及字體圖的相關知識,感興趣的朋友一起看看吧
    2016-10-10
  • 用Js實現(xiàn)的動態(tài)增加表格示例自己寫的

    用Js實現(xiàn)的動態(tài)增加表格示例自己寫的

    動態(tài)增加表格的方法有很多,但大多說實現(xiàn)起來比較繁瑣,本文的這個示例是作者自己手寫的,經測試效果還不錯,但唯獨不兼容FF,感興趣的朋友可以參考下
    2013-10-10
  • 使用JS模擬錨點跳轉的實例

    使用JS模擬錨點跳轉的實例

    下面小編就為大家分享一篇使用JS模擬錨點跳轉的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • CocosCreator實現(xiàn)技能冷卻效果

    CocosCreator實現(xiàn)技能冷卻效果

    這篇文章主要介紹了CocosCreator實現(xiàn)技能冷卻效果,同學們可以跟著教程,親手試一下,代碼都是可以復用的
    2021-04-04

最新評論