js实现 回到网页顶部 效果

实现效果:当页面内容比较多的时候,会出现滚动条,通过js代码做了一个实现 回到网页顶部 的功能,而且回到顶部的速度是逐步增加的。

思路:1、首先定义一个 回到网页顶部的链接标签,

    2、获取这个链接标签对象,然后给它添加一个事件监听器

   3、核心是监听器中定义的操作


具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>


<style>

body{
background-image:url(aa.jpg);
transition:5s;
}

</style>


</head>
<body >
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>


<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>


<p>
aaaaaaaa
</p><p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>
<p>
aaaaaaaa
</p>

<a class="gotop" href="javascript:;" >back to top</a>


<script>
//利用js原生的选择器获取js对象
var gotopObj = document.querySelector(".gotop");
//给gotopObj对象添加一个事件监听器,监听的是click点击事件
gotopObj.addEventListener("click",downListener,false);


function downListener(ev){ //ev代表一个当前触发的事件
//alert(window.screen.availHeight);
var bottom = ev.pageY;//网页的高度
var top = 0;//设置顶部的位置
//var screenH = document.body.clientHeight;
//alert(screenH);
var scale = bottom - top;
var time = 500;//回到顶部所花的总时间
var av = scale/time*10;//每次上升滑动的距离
//定义一个定时器,即每隔10毫秒执行一次上升滑动的操作
var interval = window.setInterval(function(){
av++;//控制逐步加速
window.scrollBy(0,-av);//第一个参数表示滚动条移动的水平像素,第二个参数表示滚动条移动的垂直像素
},10);
 
window.setTimeout(function(){
window.clearInterval(interval);//取消指定的 window.setInterval函数将要执行的代码,500毫秒之后取消
},time);
}


</script>
</body>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值