zoukankan      html  css  js  c++  java
  • JS实现回到页面顶部动画效果 2016.03.23

    最近在模仿各大网站写页面样式和交互,发现好多都有回到顶部的需要,所以写了一下js,记录下来。
    发现还可以添加从快到慢的动画效果和随时下拉滚动条停止滚动的功能, 参考了imooc上相关课程,最终实现JS代码如下:

    //页面加载后触发
    window.onload = function(){
    	var btn = document.getElementById('btn');
    	var timer = null;
    	var isTop = true;
    	//获取页面可视区高度
    	var clientHeight = document.documentElement.clientHeight;
    
    	
    	//滚动条滚动时触发
    	window.onscroll = function() {
    	//显示回到顶部按钮
    		var osTop = document.documentElement.scrollTop || document.body.scrollTop;
    		if (osTop >= clientHeight) {
    			btn.style.display = "block";
    		} else {
    			btn.style.display = "none";
    		};
    	//回到顶部过程中用户滚动滚动条,停止定时器
    		if (!isTop) {
    			clearInterval(timer);
    		};
    		isTop = false;
    
    	};
    
    	btn.onclick = function() {
    		//设置定时器
    		timer = setInterval(function(){
    			//获取滚动条距离顶部高度
    			var osTop = document.documentElement.scrollTop || document.body.scrollTop;
    			var ispeed = Math.floor(-osTop / 7);
    			
    			document.documentElement.scrollTop = document.body.scrollTop = osTop+ispeed;
    			//到达顶部,清除定时器
    			if (osTop == 0) {
    				clearInterval(timer);
    			};
    			isTop = true;
    			
    		},30);
    	};
    };
    
  • 相关阅读:
    stm32启动代码分析
    STM32固件库详解
    ARM GCC CodeSourcery EABI下载地址
    Linux/redhat 基本网络配置
    侧边栏导航
    div滚动,页面不滚动
    自定义滚动条样式
    placeholder自定义CSS
    浏览器判断
    初始化页面垂直居中
  • 原文地址:https://www.cnblogs.com/daisykoo/p/5522908.html
Copyright © 2011-2022 走看看