前面的話
最近在復(fù)習(xí)自己寫的博客,但有的博客內(nèi)容很長,長到不知道多少時間可以讀完。這時,就有種泄氣的沖動。但,如果能夠提供一個博客內(nèi)容進(jìn)度的插件,根據(jù)所讀內(nèi)容的多少,顯示進(jìn)度條,讓自己對所讀的內(nèi)容進(jìn)度心里有數(shù),可以讓自己平靜下來,一點一點讀下去。本文將詳細(xì)介紹博客內(nèi)容進(jìn)度插件的實現(xiàn)
效果演示
無論是通過鼠標(biāo)滾輪,還是拖動滾動條,也或者是按空格鍵,只要發(fā)生了頁面的滾動操作,就會觸發(fā)頁面底部博客內(nèi)容進(jìn)度條的變化。根據(jù)當(dāng)前內(nèi)容的多少計算與博客所有內(nèi)容的比例,最終對應(yīng)成進(jìn)度條的寬度。當(dāng)鼠標(biāo)移入進(jìn)度條范圍時,會以數(shù)字顯示出當(dāng)前的進(jìn)度百分比
通過使用如下代碼,可將進(jìn)度插件插入頁面中
<script src="http://files.cnblogs.com/files/xiaohuochai/progress.js"></script>
由于目錄和進(jìn)度都是常用的功能,所以,我把進(jìn)度的功能整合到目錄生成的插件中了
<script src="http://files.cnblogs.com/files/xiaohuochai/catalog.js"></script>
原理解釋
上面已經(jīng)簡明扼要的說明了進(jìn)度條的原理,而實現(xiàn)起來也不困難。在觸發(fā)滾動事件時,計算兩個高度值。一個值H用來表示整篇博客內(nèi)容的底部離頁面頂端的距離。一個值h用來表示當(dāng)前窗口內(nèi)博客內(nèi)容的底部離頁面頂端的距離。從而比例值radio = h/H,就是進(jìn)度百分比,以進(jìn)度條的寬度變化顯示出來
具體實現(xiàn)
【1】獲取博客內(nèi)容總高度H,如下圖所知,博客園將博客內(nèi)容放在id為cnblogs_post_body的div內(nèi),通過scrollHeight來獲取其高度即可。且該值是固定不變的,不需在發(fā)生滾動事件時再獲取,頁面加載完成后就可獲取
function addEvent(target,type,handler){ if(target.addEventListener){ target.addEventListener(type,handler,false); }else{ target.attachEvent('on'+type,function(event){ return handler.call(target,event); }); } } var H; addEvent(window,'load',function(){ H = cnblogs_post_body.scrollHeight; });
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.rwnh.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞名稱:js博客內(nèi)容進(jìn)度插件詳解-創(chuàng)新互聯(lián)
本文URL:http://www.rwnh.cn/article8/dspgip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、自適應(yīng)網(wǎng)站、域名注冊、網(wǎng)站改版、外貿(mào)建站、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)