关于网页中“回到顶端”功能的实现
今天一朋友在知乎上问我怎么实现网页中“回到顶端”功能,重点是要有动态效果。
原问题:请问下知乎的置顶功能(不像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