页⾯跳到顶部的⽅法
页⾯跳到顶部的⽅法
⼀、使⽤锚点链接
毫⽆疑问,使⽤锚点链接是⼀种简单的返回顶部的功能实现。该实现主要在页⾯顶部放置⼀个指定名称的锚点链接,然后我们在页⾯下⽅放置⼀个返回到该锚点的链接,⽤户点击该链接即可返回到该锚点所在的顶部位置。
⽰例代码如下:
<!-- 定义⼀个名称为top的锚点链接 -->
<a name="top"></a>
<!-- 这⾥是⽹页主体内容,此处省略 -->
<!-- 返回页⾯顶部top锚点的链接 -->
<a href="#top">返回顶部</a>
值得注意的是,在现代浏览器中,如果浏览器不到指定的锚点(例如top),浏览器将会尝试跳转到id为top的HTML元素的起始位置。因此,我们也可以在头部放置⼀个id为top的HTML元素,遗憾的是,并不是所有的浏览器——尤其是某些浏览器的旧版本,都兼容这种⾏为。
⼆、使⽤js函数scrollTo()
当然,我们还可以利⽤JavaScript为我们提供的函数scrollTo(x, y)来实现返回到页⾯顶部的功能。scrollTo函数可以滚动到指定坐标(x, y)处的内容。我们将坐标设定为(0, 0)即可起到返回顶部的作⽤。
<a href=":scrollTo(0,0);">返回顶部</a>
三、使⽤js操作DOM样式
此外,我们还可以使⽤js将body或html等元素的scrollTop属性设置为0,即可滚动到页⾯的顶部。我们⼀般使⽤jQuery来实现上述代码。
// 以下三种⽅式均可实现返回页⾯顶部
$(window).scrollTop(0);
$('body').scrollTop(0);
$('html').scrollTop(0);
此外,我们还可以使⽤jQuery的动画效果函数animate()来实现平滑滚动到页⾯顶部的动画效果。
// 在500毫秒内平滑滚动到页⾯顶部
$('body').animate( {scrollTop: 0}, 500);
四、本⽅式是渐进式返回顶部,要好看⼀些,代码如下:
function pageScroll() {
window.scrollBy(0,-10);
scrolldelay = setTimeout('pageScroll()',100);
}
<a href="pageScroll();">返回顶部</a>
这样就会动态返回顶部,不过虽然返回到顶部但是代码仍在运⾏,还需要在pageScroll函数加⼀句给停⽌掉。
复制代码代码如下:if(document.documentElement.scrollTop==0) clearTimeout(scrolldelay);
五、简单的静态返回顶部,⽤js模拟滚动效果上滑⾄顶部
js代码html滚动效果代码
function pageScroll(){
//把内容滚动指定的像素数(第⼀个参数向右滚动的像素数,第⼆个参数向下滚动的像素数)
window.scrollBy(0,-100);
//延时递归调⽤,模拟滚动向上效果
scrolldelay = setTimeout('pageScroll()',100);
//获取scrollTop值,声明了DTD的标准⽹页取document.documentElement.scrollTop,
否则取document.body.scrollTop;因为⼆者只有⼀个会⽣效,另⼀个就恒为0,所以取和值
可以得到⽹页的真正的scrollTop值
var sTop=document.documentElement.scrollTop+document.body.scrollTop;
//判断当页⾯到达顶部,取消延时代码(否则页⾯滚动到顶部会⽆法再向下正常浏览页⾯)
if(sTop==0) clearTimeout(scrolldelay);
}
html代码
<a onclick="pageScroll()">返回顶部</a>
缺点:滚动效果不平滑,且在页⾯很长时点击返回顶部,未向上到达页⾯顶部⽆法再正常浏览页⾯;同上依旧是静态固定于页⾯底部,不⼀定能曝光在⽤户⾯前。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论