当前位置:首页 > javascript > 正文内容

JavaScript实现回到顶部

自由小鸟7年前 (2018-06-27)javascript2907
#top{
display: none;
position: fixed;
left: 90%;
bottom: 40px;
height:60px;
width: 60px;
background: rgba(0,0,0,0.5);
background-size:100% auto;
border-radius: 5px;
text-align: center;
}
#top i{
border-width:14px 10px;
border-color:transparent transparent #000 transparent;
border-style: dashed dashed solid dashed;
}
window.onload=function(){
oTop=document.getElementById('top');
var time1=null;
var isTop=null;
oTop.onclick=function(){
//设置定时器
time1=setInterval(function(){
var osTop = document.body.scrollTop||document.documentElement.scrollTop;
//ceil向上取整,floor向下取整
var speed=Math.ceil(osTop/2);
document.body.scrollTop=document.documentElement.scrollTop=osTop-speed;
if(osTop<=0){
clearInterval(time1);
}
isTop=true;
},100);
}
//页面滚动自动触发:
window.onscroll = function(){
//获取页面可视区高度和滚动高度
var osTop = document.body.scrollTop||document.documentElement.scrollTop;
//这两个获取滚动的方法可以兼容多种浏览器
var clientHeight = document.documentElement.clientHeight;
//对回到顶部的隐藏和显示,在css中一开始可以设置为隐藏
if (osTop>clientHeight) {
oTop.style.display = "block"
}
else{
oTop.style.display = "none"
}
if (!isTop) {
clearInterval(time1);
}
isTop = false;
}

}


版权声明:本文由Web学习之路发布,如需转载请注明出处。

本文链接:https://webge.net/?id=12

“JavaScript实现回到顶部” 的相关文章

h5绘制图画

参考网站资料编写的绘图<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">  ...

this指向

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px 'Helvetica Neue'; color: #000000}es5 中 this指向该函数被调用的对象es6 中箭头函数的this指向是定义时的对象...

js类型转换

js类型转换

数据类型: 原始类型:        Boolean Null Undefined Number String Symbol     显示类型转换: ...

数组有哪些原生方法

赋值方法:pop 和 push   pop // 删除数组最后一个元素,返回被删除的元素push // 在数组尾部插入1-N个元素,返回操作后数组的lengthshift     //  删除数组第一个元素,返回被删除的元素uns...

event-loop

event-loop

如果知道js运行机制,在工作中会帮助我们更好的理解和编写代码,也知道为什么js是单线程js为什么是单线程原因,就是为了避免DOM渲染的冲突异步是一种“无奈”的解决方案,虽然有很多问题,如下:1,没按照书写方式执行,可读性差2,callback中不容易模块化什么是event-loop1,同步代码,直接...

数组去重

var a=[1,3,4,5,6,1,3,9,6]; //代码是去重后的 function arrfn(data){ let newObj={}; for(let i=0;i<data.length;i++...