关于网页中“回到顶端”功能的实现

今天一朋友在知乎上问我怎么实现网页中“回到顶端”功能,重点是要有动态效果。

原问题:请问下知乎的置顶功能(不像qq一下跳到页面顶端,知乎是类似拖动到页面顶端)是使怎么实现的,能不能写一段可以用在自己网站实现这种置顶功能的通用的js代码 : )。

我的回答如下:

实现代码

var scrollDiv = document.createElement('div');
$(scrollDiv).attr('id', 'toTop').appendTo('body');
$('#toTop').hide();
$(window).scroll(function () {
	if ($(document).scrollTop() != 0) {
		$('#toTop').fadeIn();
	} else {
		$('#toTop').fadeOut();
	}
});
$('#toTop').click(function () {
	$(window).scrollTop(0);
});


原理

jQuery实现原理主要就是根据:位于对象最顶端和窗口课件内容的最顶端之间的距离,说白了就是滚动条顶部到网页顶部的这段距离。滚动的效果的产生,是因为通过循环、定时器等一些方法不停的改变其距离值。


API
API是document.body.scrollTop(window.pageYOffset)


更多请参考
http://blog.csdn.net/bl1988530/archive/2010/09/16/5888391.aspx
http://hi.baidu.com/nangegehao/blog/item/d0351f000294ed1d738b654f.html

posted @ 2011-05-28 13:36  August_小八  阅读(943)  评论(2编辑  收藏  举报