• 技术文章 >web前端 >js教程

    JavaScript实现回到顶部效果的示例

    黄舟黄舟2017-11-16 16:30:04原创848
    在我们开发工作中,JavaScript可谓是必不可少的一部分,我们会时常遇到使用JavaScript实现回到顶部的代码,相信每个页面都会有的功能,今天就给大家详细介绍下JavaScript实现回到顶部效果的示例!

    使用原生js实现简单的回到顶部效果。需求比较明确:1.显示与隐藏按钮。2.中途再次触发onscroll清除定时器(暂时未实现,希望各位赐教)

    代码:

    <!-- 
    Time:2016.8.4
    author:Joel
    
    Dom操作
    1.document.getElementById    根据ID获取标签元素
    2.document.documentElement.scrollTop    .ie滚动条数值
    3.document.body.scrollTop  .chrome
    4.document.documentElement.clientHeight  可视区域高度
    
    事件运用
    1.window.onload  加载完毕触发事件
    2.onclick  点击触发事件
    3.window.scroll  滚动条触发事件
    
    定时器
    1.setInterval()
    2.clearInterval() 
    -->
    
    <!doctype html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style type="text/css">
    		.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;
    		}
    	</style>
    	<script type="text/javascript">
    	      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);
    		  }
    	    }
    	</script>
    </head>
    <body>
    	<a href="javascript:;" class="btn">按钮</a> 
    	<p class="image">
    	  <img src="tb_bg.jpg" alt="">
    	</p>
    </body>
    </html>

    总结:
    1.dom流的渲染顺序,hover写在a之前才会生效,否则会被覆盖。

    2.各种属性方法的运用和简单的封装。

    3.getElementsByClassName 返回的是nodelist 所以要使用数组的形式。

    4.不同浏览器下的兼容问题,放弃tab键的依赖性,使用两个空格代替。

    5.emmet插件的安装和使用。

    6.jq提供的动画能更加简便的实现回到顶部效果。锚点法在某些特定场合也可以使用,问题是会在浏览器输入栏显示某些细节。

    相关推荐:

    JS实现回到顶部特效

    JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件

    javascript - iframe外怎么使iframe的内容回到顶部

    以上就是JavaScript实现回到顶部效果的示例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:JavaScript js 效果
    上一篇:JS实现下拉菜单的显示与隐藏 下一篇:JavaScript简单返回顶部代码及注释说明
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• JavaScript常见的Number对象汇总• 什么是闭包?聊聊javascript中闭包,看看闭包有哪些作用?• JavaScript原型与原型链知识点详解• angular如何进行性能优化?变更检测方式浅析• 总结分享了解nodejs的几个关键节点
    1/1

    PHP中文网