实现回到顶部按钮,需要考虑几个细节:
1. 回到顶部的速度计算
2. 定时器需要关闭,不关闭会导致不停的执行回到顶部的事件
3. 回到顶部事件未结束,用户进行滚动页面,应该关闭定时器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
#btn1{
position: fixed
bottom: 0
right: 0
}
</style>
<script>
window.onload = function(){
var oBtn=document.getElementById('btn1')
//用处,避免当按钮触发页面回到顶部时页面滚动这个过程未结束,用户此时人为滚动时页面不会准确响应用户
var bSys = true
var timer = null
window.onscroll = function(){
//当认为滚动页面,关闭定时器
if(!bSys){
clearInterval(timer)
}
bSys = false
}
oBtn.onclick = function()
{
//每30ms执行一次 scrollTop+iSpeed
timer = setInterval(function(){
var scrollTop=document.documentElement.scrollTop || document.body.scrollTop
//算速度 除以的数值越大,速度越慢
var iSpeed=Math.floor(0-scrollTop/5)
if(scrollTop == 0){
//不关闭定时器,会导致第一次回到顶部之后,导致不能在响应用户的滚动,不定的触发回到顶部,by三人行慕课
clearInterval(timer)
}
//当按钮启动页面滚动,设置为true
bSys=true
document.documentElement.scrollTop=document.body.scrollTop=scrollTop+iSpeed
}, 30)
}
}
</script>
</head>
<body style='height:2000px'>
<input type="button" id="btn1" value="回到顶部" />
</body>
</html>
JS或者jquery设置滚动条回到顶部的方法:
返回顶部:设置为body的scrollTop为0
滑动效果:animate(Jquery的自定义动画)
备注:returnTop为触发返回顶部的元素ID。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
网站的网页中都有返回顶部的功能,就是当用户访问网页时,可以迅速的返回顶部。也许会有人觉得这个功能很简单,没有什么说的,但据我目前所知,就有五种方法实现这个功能。而且不同的方法能实现的效果也是有所不同的。下面介绍下这些方法网页中“返回顶部”的html代码有好几种不同的编写方式:
1、简单的脚本可实现此功能:
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<title>返回顶部</title>
<style type="text/css">
body{height:1000px}
</style>
</head>
<body>
<div style="height:800pxwidth:800px"></div>
<a href="javascript:scroll(0,0)">返回顶部</a>
</body>
</html>
2、采用JS实现返回顶部:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<title>返回顶部</title>
<style type="text/css">
body{height:1000px}
</style>
</head>
<body>
<div style="height:800pxwidth:800px"></div>
<script src="js/gototop.js"></script>
<div class="back-top-container" id="gotop">
<div class="yb_conct">
<div class="yb_bar">
<ul>
<li class="yb_top">返回顶部</li>
</ul>
</div>
</div>
</div>
</body>
</html>
3、利用锚点返回顶部:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<title>返回顶部</title>
</head>
<body>
<a href="#5F">顶部</a>
<div style="height:300pxwidth:300px"></div>
<a name="5F">返回顶部</a>
</body>
</html>