php中页面平滑回到顶部代码,原生JS实现平滑回到顶部组件_javascript技巧
返回頂部組件是一種極其常見的網頁功能,需求簡單:頁面滾動一定距離后,顯示返回頂部的按鈕,點擊該按鈕可以將滾動條滾回至頁面開始的位置。
實現思路也很容易,只要改變document.documentElement.scrollTop或document.body.scrollTop的值即可。
本文拋棄所有加速減速的酷炫效果,回歸軟件的本質,提供一個最簡潔的實現,只追求實用性,不追求所謂的用戶體驗,效果如下
由于思路跟代碼都很簡單,所以就直接貼出實現細節了:
var BackTop = function (domE,distance) {
if (!domE) return;
var _onscroll = window.onscroll,
_onclick = domE.onclick;
window.onscroll = throttle(function(){
typeof _onscroll === 'function' && _onscroll.apply(this, arguments);
toggleDomE();
},100);
domE.onclick = function(){
typeof _onclick === 'function' && _onclick.apply(this, arguments);
document.documentElement.scrollTop = 0;
document.body.scrollTop = 0;
};
function toggleDomE(){
domE.style.display = (document.documentElement.scrollTop || document.body.scrollTop) > (distance || 500) ? 'block' : 'none';
}
function throttle(func, wait) {
var timer = null;
return function () {
var self = this, args = arguments;
if (timer) clearTimeout(timer);
timer = setTimeout(function () {
return typeof func === 'function' && func.apply(self, args);
}, wait);
}
}
};
調用方式:
之所以寫這篇博客,弄這么個簡單的東西,有兩個方面的原因:
1)這段時間一直在手寫一些常見的簡單組件,這算是一個簡單中更簡單的一個,為了讓這系列的博客更加完整,所以把這個組件補充了進來;
2)我想表達自己在工作過程中的一個觀點:就是不要過渡用用戶體驗來裝飾你的軟件或者說產品,用戶體驗這個東西說白了就是兩個詞,一個是好印象,第二個就是好玩,但這并不是產品開發運營的最終目的,你把東西做的再漂亮,產品的核心價值和服務做的不夠的話,就算把返回頂部這種功能做成超級無敵的火箭也是徒勞無功的。做前端開發,得鍛煉點控制產品經理瞎提用戶體驗功能的度,以這個組件來說,我認為做加速或減速效果都是多余的,既增加開發時間,又耽誤用戶使用的時間,拋棄自己心中那點對技術玩弄的固執,可以讓自己的工作做的更加完美。
下面給大家分享幾種常用網頁返回頂部代碼
一、使用HTML的錨標記最簡單了
但是唯一的缺點就是樣式不怎么樣,會顯示這個錨標記。
放置位置在標簽之后隨便找個地方放都可以,只要靠近頂部即可。
頁面底部放置:
返回頂部
二、使用Javascript Scroll函數返回頂部
scrooll函數用來控制滾動條的位置,有兩種很簡單的實現方式:
方式1(推薦:簡單方便):
返回頂部
scroll第一個參數是水平位置,第二個參數是垂直位置,比如要想定位在垂直50像素處,改成scroll(0,50)就可以了。
方式2(注重效果:緩慢向上):
本方式是漸進式返回頂部,要好看一些,代碼如下:
functionpageScroll() {window.scrollBy(0,-10);scrolldelay=setTimeout('pageScroll()',100);}返回頂部
這樣就會動態返回頂部,不過雖然返回到頂部但是代碼仍在運行,還需要在pageScroll函數加一句給停止掉。
if(document.documentElement.scrollTop==0)clearTimeout(scrolldelay);
三、使用Onload加上scroll功能實現動態返回頂部
首先在網頁body標簽結束之前加上:
返回頂部
總結
以上是生活随笔為你收集整理的php中页面平滑回到顶部代码,原生JS实现平滑回到顶部组件_javascript技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果“性价比”显示器要来!基于24寸iM
- 下一篇: 日本半导体设备和材料为何那么强?