`
netingcn
  • 浏览: 18897 次
  • 来自: ...
社区版块
存档分类
最新评论

纯js实现回到顶部按钮

 
阅读更多
目前很多网站的页面上在右下角都提供了一个“回到顶部”的按钮。今天无事决定自己写一个,代码其实很简单,经过几次修改后,效果还算满意。重要的是全部使用js来实现,不需要在html、css中增加任何内容,甚至都不需要图片,只要引用js即可。而且全面兼容IE6。由于考虑兼容性问题,如何获取滚动条的高度和按钮停留在右下角是难点。这两个问题可以参考: js如何获取滚动条的高度:http://www.netingcn.com/js-get-srolltop.html和兼容各个浏览器的右下角提示框代码。

代码如下:
(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';
			}
			
			$(btnId).style.display = display;			
		});
})();



具体效果可以查看我的blog,http://www.netingcn.com
分享到:
评论

相关推荐

    js+css实现回到顶部按钮(back to top).docx

    "JS+CSS实现回到顶部按钮(Back to Top)" 通过本文,我们可以学习到使用JS和CSS实现回到顶部按钮的方法。这个功能可以在页面滚动时出现一个回到顶部的按钮,以便用户快速回到页面的顶部。 首先,我们需要在HTML中...

    【JavaScript源代码】JavaScript实现返回顶部按钮案例.docx

    JavaScript 实现返回顶部按钮是一种常见的网页交互功能,它允许用户快速返回页面的顶部,提高用户体验。下面我们将详细探讨如何使用JavaScript来实现这个功能。 首先,我们需要创建返回顶部按钮的HTML结构,通常是...

    jQuery实现回到顶部按钮效果

    在网页设计中,"回到顶部"功能是一种常见且实用的设计元素,它允许用户轻松地将浏览器窗口滚动回页面的顶部,而无需手动滚动。...只需少量代码,就能实现复杂的交互效果,如回到顶部按钮,大大提高了用户体验。

    基于Javascript实现返回顶部按钮_.docx

    【基于Javascript实现返回顶部按钮】 在网页设计中,提高用户体验是一项关键任务,尤其是在内容丰富的页面上。当用户浏览到底部时,返回顶部的过程可能会显得不便。为了缓解这一问题,我们可以利用JavaScript来创建...

    JavaScript回到顶部功能实现

    总结来说,实现JavaScript回到顶部功能的关键在于监听滚动事件、判断滚动位置以及响应点击事件。通过结合HTML、CSS和JavaScript,我们可以创建一个既实用又美观的"回到顶部"功能,提升用户的浏览体验。

    回到顶部 js 实现

    然后,我们使用JavaScript来监听滚动事件并根据页面位置控制“回到顶部”按钮的显示和隐藏。当用户向下滚动一定距离后,按钮显示;当用户向上滚动时,按钮隐藏。可以使用以下代码: ```javascript document....

    纯js实现页面返回顶部的动画(超简单)

    标题和描述中提到的知识点主要是利用纯JavaScript来实现页面滚动回到顶部的动画效果。这个过程不需要借助任何的库或框架,仅仅使用JavaScript内置的对象和方法就可以完成。 首先,我们要知道页面的滚动是可以通过...

    jQuery返回顶部特效,网页右下角的回到顶部按钮

    标题中的“jQuery返回顶部特效,网页右下角的回到顶部按钮”是指在网页设计中,使用jQuery库实现的一种交互功能。这种功能允许用户在浏览页面时,点击位于页面右下角的一个按钮,快速将滚动条返回到页面顶部,提供...

    js简洁客服和返回顶部右侧漂浮代码,有动画效果,兼容主流浏览器

    这个功能也是通过JavaScript实现,通常会监听滚动事件,当用户滚动到一定距离时显示返回顶部按钮,再次点击则利用`window.scrollTo()`方法平滑滚动到页面顶部。为了增加用户体验,还会添加动画效果,使得页面滚动...

    回到顶部,纯javascript代码编写

    总结一下,纯JavaScript实现“回到顶部”功能主要涉及以下几个步骤: 1. 创建并定位“回到顶部”按钮。 2. 监听滚动事件,当达到设定阈值时显示按钮。 3. 为按钮添加点击事件监听器,实现平滑滚动到顶部。 4. 监听...

    JS CSS 回到顶部

    为了在页面滚动到一定距离后显示回到顶部按钮,我们可以添加滚动事件监听器: ```javascript window.addEventListener('scroll', function() { var topBtn = document.getElementById('top-btn'); if (window....

    js+css实现回到顶部按钮(back to top)

    在网页设计中,"回到顶部"(Back to Top)按钮是一个常见...以上内容详细解释了如何使用JavaScript和CSS实现一个回到顶部按钮的功能。通过这种方式,可以提高用户体验,使得用户在浏览长页面时能更方便地返回页面顶部。

    javascript中返回顶部按钮的实现

    在JavaScript中,实现返回顶部按钮是一项常见的网页交互功能,它能帮助用户轻松地将页面滚动回顶部。在给出的代码示例中,我们看到两种不同的方法来实现这一功能。 首先,我们关注的是一个简单的返回顶部按钮,这个...

    js实现漂浮回顶部按钮实例

    本文主要讨论了如何使用JavaScript实现页面中的一个常见功能——漂浮回顶部按钮。这个功能允许用户在浏览了长页面后,通过点击一个固定的按钮快速返回页面顶部。以下是实现该功能需要掌握的知识点。 知识点1:HTML...

    回到顶部按钮

    回到顶部按钮是一个常见的网页元素,尤其在长页面中,它为用户提供了一种便捷的方式,能够快速将页面滚动回顶部,而无需手动滑动。在网页设计中,这种功能的实现通常通过JavaScript、jQuery或者CSS来完成,也有一些...

    scrollTop原生JavaScript实现的回到顶部库

    本文将详细介绍如何使用原生JavaScript实现一个适应PC和移动设备,且兼容到IE7的"scrollTop"回到顶部库。 一、scrollTop属性 在JavaScript中,`scrollTop`属性用于获取或设置元素的垂直滚动位置。对于一个元素(如...

    jquery实现回到顶部功能(带隐藏功能

    2. **创建回到顶部按钮**:在页面底部或者合适的位置添加一个按钮元素,可以是链接或者按钮,初始状态设置为隐藏: ```html ;"&gt;返回顶部 ``` 3. **添加样式**:使用CSS对返回顶部按钮进行样式设计,比如定位在...

    js动态返回顶部

    在本案例中,"js动态返回顶部"指的是利用JavaScript实现一个功能,即当用户在浏览网页时,页面滚动到一定位置后,提供一个“返回顶部”的按钮,点击该按钮可以使页面瞬间滚动回顶部。 首先,我们需要在HTML文件中...

    JS实现部分HTML固定页面顶部随屏滚动效果

    本文实例讲述了JS实现部分HTML固定页面顶部随屏滚动效果。分享给大家供大家参考,具体如下: 我们经常在淘宝网看到这样的特效,商品列表特别长,而商品列名称始终保持在最顶端。如果你把滚动条滚动至最上边了,那么...

    回到顶部JavaScript插件

    3. **CSS样式**:为了使返回顶部按钮在需要时出现,在不需要时隐藏,可以使用CSS来控制按钮的显示和隐藏。通常会结合JavaScript来修改按钮的`display`属性。 4. **动画效果**:为了让用户点击按钮后平滑地回到顶部...

Global site tag (gtag.js) - Google Analytics