javascript實現(xiàn)博客園頁面右下角返回頂部按鈕
博客園中很多博友的博客中在Page右下角都有個圖標(biāo),不論屏幕怎么拉伸,都始終停留在右下角。點(diǎn)擊后頁面置頂。后面想想寫一個Demo來實現(xiàn)這種效果吧。
一. 圖標(biāo)右下角固定.
1.SS 里面提供了4中布局方式. 其中fixed表示絕對定位元素。所以我們選擇使用fixed來實現(xiàn)圖標(biāo)固定.
absolute |
生成絕對定位的元素,相對于 static 定位以外的第一個父元素進(jìn)行定位。 元素的位置通過 "left", "top", "right" 以及 "bottom" 屬性進(jìn)行規(guī)定。 |
fixed |
生成絕對定位的元素,相對于瀏覽器窗口進(jìn)行定位。 元素的位置通過 "left", "top", "right" 以及 "bottom" 屬性進(jìn)行規(guī)定。 |
relative |
生成相對定位的元素,相對于其正常位置進(jìn)行定位。 因此,"left:20" 會向元素的 LEFT 位置添加 20 像素。 |
static | 默認(rèn)值。沒有定位,元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right 或者 z-index 聲明)。 |
inherit | 規(guī)定應(yīng)該從父元素繼承 position 屬性的值。 |
2.定代碼如下。Button按鈕將始終置于屏幕右下角。不論是拖動上下精度條還是拉伸瀏覽器窗口大小.
#myTopBtn{
bottom: 5px;
right: 5px;
position:fixed;
}
二. 實現(xiàn)點(diǎn)擊后回到頁面最上角.
1. 要想回到屏幕最上角就得小了解如何通過JavaScript還操作拖動條的上下移動.JavaScript提供了scrollby和scroll方法.
window.scrollBy(0,-30) //屏幕上移30像素點(diǎn)
window.scroll(0,0) // 屏幕回到最上角
2. 上面已經(jīng)提到了如何移動拖動條,那么如何實現(xiàn)按照一定的速度移動到page頁頂部呢。那么就要借助setInterval和clearInterval方法. 實現(xiàn)沒10毫秒屏幕上移30個像素點(diǎn)。
<body>
<div id="myDiv" >
</div>
<button id="myTopBtn" onclick="TopFunc()">To Top</button>
</body>
var myVar;
function TopFunc(){
myVar=setInterval(EachScrollBy,10);
}
function EachScrollBy(eachHeight){
if(document.documentElement.scrollTop<=0){
clearInterval(myVar);
}else{
window.scrollBy(0,-30);
}
}
三. 擴(kuò)展
實現(xiàn)了置頂按鈕。那么我們?nèi)绾螌崿F(xiàn)點(diǎn)擊按鈕屏幕置底呢.其實原理差不多,這里就不寫demo了。給大家提供一些屬性做參考.
網(wǎng)頁可見區(qū)域?qū)挘篸ocument.body.clientWidth
網(wǎng)頁可見區(qū)域高:document.body.clientHeight
網(wǎng)頁可見區(qū)域?qū)挘篸ocument.body.offsetWidth (包括邊線的寬)
網(wǎng)頁可見區(qū)域高:document.body.offsetHeight (包括邊線的寬)
網(wǎng)頁正文全文寬:document.body.scrollWidth
網(wǎng)頁正文全文高:document.body.scrollHeight
網(wǎng)頁被卷去的高:document.body.scrollTop
網(wǎng)頁被卷去的左:document.body.scrollLeft
網(wǎng)頁正文部分上:window.screenTop
網(wǎng)頁正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的寬:window.screen.width
屏幕可用工作區(qū)高度:window.screen.availHeight
屏幕可用工作區(qū)寬度:window.screen.availWidth
以上就是本文的全部內(nèi)容了,希望愛玩博客的童鞋們喜歡。
相關(guān)文章
JS動態(tài)添加與刪除select中的Option對象(示例代碼)
本篇文章主要介紹了JS動態(tài)添加與刪除select中的Option對象示例代碼。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12Javascript基于對象三大特性(封裝性、繼承性、多態(tài)性)
這篇文章主要介紹了Javascript基于對象三大特性,包括封裝性、繼承性、多態(tài)性,感興趣的小伙伴們可以參考一下2016-01-01echarts數(shù)據(jù)可視化實現(xiàn)多個柱狀堆疊圖頂部顯示總數(shù)示例
這篇文章主要為大家介紹了echarts實現(xiàn)多個柱狀堆疊圖頂部顯示總數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07JSON創(chuàng)建鍵值對(key是中文或者數(shù)字)方式詳解
這篇文章主要介紹了JSON創(chuàng)建鍵值對(key是中文或者數(shù)字)方式詳解,需要的朋友可以參考下2017-08-08three.js中g(shù)sap動畫庫實現(xiàn)物體的動畫
本文主要介紹了three.js中g(shù)sap動畫庫實現(xiàn)物體的動畫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07