純js實現網頁返回頂部功能(萬能的相容目前所有瀏覽器)
純js實現網頁返回頂部功能(萬能的相容目前所有瀏覽器)
在web2.0時代,越來越多的網站如雨後春筍般的冒了出來。而且這些網站提供了很多我們常見的功能。如:返回頂部等等小特性。
那麼這些功能是如何實現的呢。這裡將為大家提供一些快速使用的萬能程式碼。
(function() {
var btnId = '__gotop';
var isIE = !!window.ActiveXObject && /msie (\d)/i.test(navigator.userAgent) ? RegExp['$1'] : false;
function $() {
return document.getElementById(arguments[0]);
}
function getScrollTop() {
return ('pageYOffset' in window) ? window.pageYOffset
: document.compatMode === "BackCompat"
&& document.body.scrollTop
|| document.documentElement.scrollTop ;
}
function bindEvent(event, func) {
if (window.addEventListener) {
window.addEventListener(event, func, false);
} else if (window.attachEvent) {
window.attachEvent('on' + event, func);
}
}
bindEvent('load',
function() {
var css = 'background-color:#999;width:50px;height:50px;position:fixed;right:100px;bottom:30px;border-radius:10px;cursor:pointer;display:none;';
if (isIE && isIE < 7) {
css += '_position:absolute;_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-30-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))';
var style = document.createStyleSheet();
style.cssText = '*html{background-image:url(about:blank);background-attachment:fixed;}';
}
var html = '<div style="height: 0;width: 0;border:14px solid #999999;border-top: 0 none;border-bottom:14px solid #fff;position: relative;margin:12px 0 0 11px;"><div style="width:8px;height:7px;position:absolute;top:14px;left:-4px;background-color:#fff;overflow: hidden;"></div></div>';
var el = document.createElement('DIV');
el.id = btnId;
el.style.cssText = css;
el.innerHTML = html;
document.body.appendChild(el);
el.onclick = function() {
(function() {
var top = getScrollTop();
if (top > 0) {
window.scrollTo(0, top / 1.2)
setTimeout(arguments.callee, 10);
}
})();
};
el.onmouseover = function() {
$(btnId).firstChild.style.borderBottom = '14px solid #ddd';
$(btnId).firstChild.firstChild.style.backgroundColor = '#ddd';
};
el.onmouseout = function() {
$(btnId).firstChild.style.borderBottom = '14px solid #fff';
$(btnId).firstChild.firstChild.style.backgroundColor = '#fff';
};
}
);
bindEvent('scroll',
function() {
var top = getScrollTop(), display = 'none';
if (top > 0) {
display = 'block';
}
if ($(btnId)) $(btnId).style.display = display;
});
})();
在看看測試頁面吧。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>返回頂部按鈕</title>
<meta name="keywords" content=""/>
<meta name="Description" content=""/>
<script type="text/javascript" src="abc.js"></script>
</head>
<body style="height:2000px;">
</body>
</html>
看看效果吧:
相關文章
- jquery實現返回頁面頂部功能。jQuery
- js返回頁面頂部的實現(layui)JSUI
- js之返回網頁頂部JS網頁
- js實現的相容所有瀏覽器的滑鼠中鍵滾動事件JS瀏覽器事件
- chrome瀏覽器頁面獲取繫結返回頂部動畫事件外掛Chrome瀏覽器動畫事件
- 原生js如何建立相容所有瀏覽器的xmlhttp物件JS瀏覽器XMLHTTP物件
- js相容所有瀏覽器的事件繫結程式碼JS瀏覽器事件
- 相容所有瀏覽器的阻止事件冒泡js程式碼瀏覽器事件JS
- forEach()相容所有瀏覽器瀏覽器
- CSS實現的相容所有瀏覽器的背景漸變程式碼CSS瀏覽器
- js相容所有瀏覽器的pageX和pageY屬性JS瀏覽器
- 相容所有瀏覽器的js滑鼠中鍵滾動事件瀏覽器JS事件
- 相容所有瀏覽器的placeholder效果瀏覽器
- 相容所有瀏覽器的getElementsByClassName()函式瀏覽器函式
- 解決css瀏覽器不相容萬能方法CSS瀏覽器
- 網站返回頂部jquery js實現程式碼方式案例網站jQueryJS
- [前端外掛] js返回頂部 效果實現前端JS
- js返回頂部JS
- 網站返回頂部功能視訊網站
- 禁止頁面後退JS(相容各瀏覽器)JS瀏覽器
- 相容所有瀏覽器的圓角出效果瀏覽器
- 相容所有瀏覽器的陣列indexOf()方法瀏覽器陣列Index
- 相容所有瀏覽器的DOMContentLoaded事件瀏覽器事件
- 相容所有瀏覽器js設定元素透明度效果瀏覽器JS
- 相容所有瀏覽器array物件indexOf()方法瀏覽器物件Index
- 原生JavaScript實現頁面回到頂部的功能JavaScript
- 相容所有瀏覽器的對聯廣告程式碼瀏覽器
- 相容所有瀏覽器的阻止事件冒泡程式碼瀏覽器事件
- 相容所有瀏覽器的阻止事件冒泡封裝瀏覽器事件封裝
- 相容所有瀏覽器的progress程式碼例項瀏覽器
- ASP.Net頁面瀏覽器“後退”功能的實現ASP.NET瀏覽器
- js點選返回網頁頂部程式碼例項詳解JS網頁
- 網頁變灰相容IE低版本瀏覽器網頁瀏覽器
- jquery點選返回網頁頂部程式碼jQuery網頁
- 相容所有瀏覽器的圖片上傳本地預覽效果瀏覽器
- js相容所有主流瀏覽器建立XMLhttpRequest物件例項程式碼JS瀏覽器XMLHTTP物件
- 相容所有瀏覽器的模糊效果程式碼例項瀏覽器
- JS模擬瀏覽器全域性搜尋功能實現JS瀏覽器