在我们开发工作中,JavaScript可谓是必不可少的一部分,我们会时常遇到使用JavaScript实现回到顶部的代码,相信每个页面都会有的功能,今天就给大家详细介绍下JavaScript实现回到顶部效果的示例!
使用原生js实现简单的回到顶部效果。需求比较明确:1.显示与隐藏按钮。2.中途再次触发onscroll清除定时器(暂时未实现,希望各位赐教)
代码:
Document.btn:hover{
background: blue;
}
.btn{
display: none;
height: 40px;
width: 40px;
background: red;
position: fixed;
left: 1410px;
top: 600px;
}
.image{
width: 1190px;
margin:0 auto;
}
window.onload = function(){
var myBtn = document.getElementsByClassName("btn");
var clientHeight = document.documentElement.clientHeight;
var timer = null;
window.onscroll = function(){
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
if(osTop > clientHeight){
myBtn[0].style.display = "block";
}
else{
myBtn[0].style.display = "none";
}
}
myBtn[0].onclick = function(){
clearInterval(timer);
timer = setInterval(function(){
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
var spd = Math.floor((-osTop) / 1000);
document.documentElement.scrollTop = osTop + spd;
document.body.scrollTop = osTop + spd;
if(osTop == 0){
clearInterval(timer);
}
},30);
}
}
总结:
1.dom流的渲染顺序,hover写在a之前才会生效,否则会被覆盖。
2.各种属性方法的运用和简单的封装。
3.getElementsByClassName 返回的是nodelist 所以要使用数组的形式。
4.不同浏览器下的兼容问题,放弃tab键的依赖性,使用两个空格代替。
5.emmet插件的安装和使用。
6.jq提供的动画能更加简便的实现回到顶部效果。锚点法在某些特定场合也可以使用,问题是会在浏览器输入栏显示某些细节。
相关推荐: