圖片懶加載&瀑布流

我們在做需要展示大量圖片的網站時口锭,為了減少網絡壓力类嗤、提升用戶體驗祈餐,通常會對圖片進行懶加載處理,所以歸納整理一下圖片懶加載的原理及代碼,瀑布流其實也是懶加載的一種特殊處理展示的方式才避,一并記錄橱夭。

懶加載

圖片懶加載的核心思路其實就是將圖片的真實src放置在另一個屬性中,使用js加以判斷圖片的是否出現(xiàn)在視窗內:

$node.offset().top <= $(window).height() + $(window).scrollTop()

預留一定的滾動距離桑逝,圖片即將出現(xiàn)在視窗內時將真實的src屬性替換進去進行加載棘劣。
為了避免已經進行替換過的圖片重復進行操作,可以在屬性中添加特征值楞遏,檢測到特征值存在時不予操作:

<img src="" alt="" data-loaded="1" data-src="">
start()

$(window).on('scroll',function(){
    start()
})

function start(){
    $('container img').not([data-loaded]).each(function(){
        var $node = $(this)
        if (isShow($node)){
            setTimeout(function(){
                loadImg($node)
            },500)
        }
    })
}

function isShow($ndoe){
    return $node.offset().top <= $(window).top() + $(window).scrollTop()
}

function loadImg($img){
    $img.attr('src',$img.attr('data-src'))
    $img.attr('data-loaded','loaded')
}

瀑布流

使用瀑布流布局展示 要考慮窗口自適應問題 所以首要問題就是確定每行展示元素的數(shù)量

var colCount
var imgWidth = $('.waterfall img').outerWidth(true) //考慮元素的padding和margin
colCount = Math.floor($('.waterfall').width()/imgWidth)

使用數(shù)組存儲每列高度茬暇,新元素設置position:absoulte,left值設置為數(shù)組中最小值寡喝。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末糙俗,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子预鬓,更是在濱河造成了極大的恐慌巧骚,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件格二,死亡現(xiàn)場離奇詭異劈彪,居然都是意外死亡,警方通過查閱死者的電腦和手機顶猜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門沧奴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人驶兜,你說我怎么就攤上這事扼仲≡洞纾” “怎么了抄淑?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長驰后。 經常有香客問我肆资,道長,這世上最難降的妖魔是什么灶芝? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任郑原,我火速辦了婚禮,結果婚禮上夜涕,老公的妹妹穿的比我還像新娘犯犁。我一直安慰自己,他們只是感情好女器,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布酸役。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涣澡。 梳的紋絲不亂的頭發(fā)上贱呐,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天,我揣著相機與錄音入桂,去河邊找鬼奄薇。 笑死,一個胖子當著我的面吹牛抗愁,可吹牛的內容都是我干的馁蒂。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼驹愚,長吁一口氣:“原來是場噩夢啊……” “哼远搪!你這毒婦竟也來了?” 一聲冷哼從身側響起逢捺,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤谁鳍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后劫瞳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倘潜,經...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年志于,在試婚紗的時候發(fā)現(xiàn)自己被綠了涮因。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡伺绽,死狀恐怖养泡,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情奈应,我是刑警寧澤澜掩,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站杖挣,受9級特大地震影響肩榕,放射性物質發(fā)生泄漏。R本人自食惡果不足惜惩妇,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一株汉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧歌殃,春花似錦乔妈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贮懈。三九已至,卻和暖如春优训,著一層夾襖步出監(jiān)牢的瞬間朵你,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工揣非, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留抡医,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓早敬,卻偏偏與公主長得像忌傻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子搞监,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,092評論 1 32
  • 人生就像一列開往墳墓的列車水孩,路途上會有很多站,很難有人至始至終陪你走完全程琐驴,當陪你的人要下車時俘种,即便不舍,也要心存...
    sunny519111閱讀 962評論 0 0
  • 效果圖 來來來,看啊看牢酵,外面的世界多好看悬包, 效果圖展示的是瀑布流布局 && 懶加載的效果 數(shù)據(jù) 圖片數(shù)據(jù)來源張鑫旭...
    an祭閱讀 6,168評論 0 11
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案评疗? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,737評論 1 92
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫灰追、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,059評論 4 62