js要怎么实现回到顶部?

JavaScript032

js要怎么实现回到顶部?,第1张

回到顶部按钮的实现基本思想很简单,就是修改页面的scrollTop,难点就是去计算scrollTop。

实现回到顶部按钮,需要考虑几个细节:

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+等。