



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、javascript仿淘寶頁(yè)面圖片滾動(dòng)加載及 刷新回頂部的方法解析淘寶圖片處理討論淘寶網(wǎng)頁(yè)而很大,但是打開(kāi)速度很快。其對(duì)圖片處理是運(yùn)用了滾動(dòng)加載,就是滾 動(dòng)軸滾到哪里,圖片在哪里加載。但是你想查看他的源代碼,那要費(fèi)九牛二虎之 力吧,因?yàn)樗麄兇a壓縮合并做的很好!因?yàn)閳D片是滾動(dòng)加載的,初始化的時(shí)候 圖片不加載,那么當(dāng)你在頁(yè)面底部刷新頁(yè)面的吋候,底部的頁(yè)面通常不會(huì)加載出 來(lái),淘寶網(wǎng)的做法貌似是(因?yàn)槲覜](méi)有看他們的源代碼,只是憑操作),刷新讓 頁(yè)面回到頂部。模仿淘寶,做滾動(dòng)圖片加載 這里想到了三種方法:1. javascript懶加載之可視區(qū)域加載<!doctype html><h
2、tml lang=,zen><head><meta charset二utf-8><title>haorooms 前端博客-口j視區(qū)域加載之 javascript</title> <stylc>imgwidth:100%;margin-bottom: 30px; min-height: 400px; background-color: #ddd;</style></hcad><body><img haoroomslazyload=/zchrysanthemum jpg src二 >&
3、lt;img haoroomslazyload=/zdesert. jpg src二 ><img haoroomslazy 1 oad=z/hydrangeas. jpgzz src二 ><img haorooms 1 az>4oad=,zkoa 1 a. jpg src二 ><img haoroomslazyload=z/lighthouse. jpg src二 ><img haoroomslazyload=/zpenguins. jpgz,src二 ><img haoroomslazyload=/tulips. jpg/z
4、src二 ><script>var imgnum=document. gctelcmentsbytognamc(,img' ) length; var imgobj=document. getelementsbytagname(z,imgz/);var 1=0;window. onscroll=function() var sccllcight 二 docum ent docum ent elcm ent .cli ent height;var scrolltop = document. documentelement. scrolltop document, bod
5、y. scrolltop;for(var i=l;i<imgum;i+)if(imgobji. offsettop < seeheight + scrolitop) console. iog(img0bji. get attribute (,src/,); console, log(imgobji. sre );if (imgobj i. getattribute (z,srcz,) = "“) imgobji. sre =imgobj i. getattribute (/zhaoroomslazyload/z);if(imgobji.offsettop > see
6、height + scrolltop) 1二 i; break;</script>大家注意看我的兩個(gè)console輸出,console, log(imgobj i. sre );獲取的是整 個(gè)瀏覽器地址! 上面的js用jquery翻譯版!2.jquery懶加載之可視區(qū)域加issivar 1=0/js方法翻譯版 $ (window), bind (,z scroll, function (event) for (var i二1 ; i<$(img). length; i+) if ($ (,zimgz,). cq(i) offset () top < parseint (
7、$ (window). height() + parselnt($(window). scrolltop() if ($ (,zimg,z) eq(i) attr (,zsrc,z) = “") varlazyloadsrc=$ (j img*). eq(i). attr (haoroomslazyload,z);$ (,zimgz,) cq(i) attr ("sre", lazyloadsrc);if ($. eq(i). offset(). top > parseint($(window). height()+ parsetnt ($ (window)
8、. scrol itopo) l=i;break;);3.可視區(qū)域加載延伸例如一個(gè)動(dòng)畫(huà)效果,或者一個(gè)canvas圖片,我想達(dá)到的效果是,初始進(jìn)來(lái)不加 載,當(dāng)滾動(dòng)到這個(gè)動(dòng)畫(huà)或者圖表上面的時(shí)候,進(jìn)行加載,那么我們就可以根據(jù)上 面的代碼進(jìn)行如下改進(jìn):$(window).bind("scroll", function(cvent) /窗口的高度+看不見(jiàn)的頂部的高度二屏幕低部距離最頂部的高度 var thisbuttomtop 二 parselnt($(window). height() + parsetnt ($ (window). scrol itopo);var thistop
9、 = parselnt($(window). scrolitopo) ; /屏幕頂部距離最 頂部的高度var picturetop = parselnt ($ c你的要滾動(dòng)加載的 id). offset (). top);if (picturetop >二 thistop && picturetop <= thisbuttomtop) / $c#你的要滾動(dòng)加載的id)attf(src,$(#你的要滾動(dòng)加載的 id"). attr (,zhaoroomslazyload,z);/此處可以執(zhí)行你的加載函數(shù),加載函數(shù)由原來(lái)的document, ready 中,移
10、到這里來(lái)!)刷新回頂部當(dāng)我們做了可視區(qū)域加載的時(shí)候,通常讓其刷新冋到頂部。像淘寶那樣。刷新冋 頂部。我不知道淘寶網(wǎng)是如何做的。刷新回頂部,我用到的是onbeforeunload事件。 onbcforcunload 與 onunload 事件,onunload 和 onbeforeunload 都是在刷新或關(guān) 閉時(shí)調(diào)用,可以在script>腳本屮通過(guò)window, onunload來(lái)指定或者在body> 里指定。區(qū)別在于onbeforeunload在onunload之前執(zhí)彳亍,它還可以阻止 onunload的執(zhí)行。onbeforeunload也是在頁(yè)面刷新或關(guān)閉時(shí)調(diào)用,onbeforeunload是正要去服務(wù) 器讀取新的頁(yè)面時(shí)調(diào)用,此時(shí)還沒(méi)開(kāi)始讀??;而onunload則已經(jīng)從服務(wù)器上讀 到了需要加載的新的頁(yè)而,在即將替換掉當(dāng)前頁(yè)而時(shí)調(diào)用。onunload是無(wú)法阻 止頁(yè)而的更新和關(guān)閉的。而onbeforeunload可以做到。1. 頁(yè)面加載時(shí)只執(zhí)行onload2. 頁(yè)面關(guān)閉口寸先執(zhí)行onbeforeunload,最后onunload3頁(yè)面刷新時(shí)先執(zhí)行onbeforeunload,然后onunload,最后onload。 刷新回頂部就是用這個(gè)事件,可以這么寫(xiě)。window. onbeforeunload = function()$
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能交通系統(tǒng)在城市管理中的應(yīng)用與前景
- 商業(yè)空間裝修協(xié)議書(shū)樣本
- 停車(chē)場(chǎng)智能管理公司
- 現(xiàn)代農(nóng)業(yè)金融創(chuàng)新方案
- 新型智能穿戴產(chǎn)品設(shè)計(jì)手冊(cè)
- 電信行業(yè)智能化通信網(wǎng)絡(luò)智能化管理與維護(hù)方案
- 豆制品加工項(xiàng)目可行性報(bào)告
- 長(zhǎng)興垃圾焚燒發(fā)電項(xiàng)目
- 商貿(mào)城項(xiàng)目可行性研究報(bào)告
- 關(guān)于提升員工職業(yè)技能的培訓(xùn)教程與計(jì)劃安排
- 山羊傳染性胸膜肺炎的防治
- 發(fā)票審批核準(zhǔn)事前查驗(yàn)單
- 電子商務(wù)專(zhuān)升本考試(習(xí)題卷7)
- 人工智能:現(xiàn)代方法
- 北京醫(yī)調(diào)委官網(wǎng)換方申請(qǐng)書(shū)
- 跨境電商:理論、操作與實(shí)務(wù)(微課版 第2版)PPT最終1-5章 10 店鋪優(yōu)化-v1
- 四川梓潼林江苧麻紡織有限責(zé)任公司 縣林江苧麻公司利用補(bǔ)償貿(mào)易技術(shù)改造(擴(kuò)大)生產(chǎn)能力環(huán)評(píng)報(bào)告
- 公路工程交工竣工驗(yàn)收課件
- 胎心監(jiān)護(hù)儀使用過(guò)程中出現(xiàn)意外情況的護(hù)理應(yīng)急預(yù)案及處理流程
- 第講 發(fā)達(dá)資本主義國(guó)家經(jīng)濟(jì)與政治
- 城市熱力網(wǎng)設(shè)計(jì)規(guī)范標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論