JS回到顶部效果设计总结
2016-02-12 00:08
525 查看
回到顶部效果的基本思路:
1. 创建一个a标签,display设置为none
2. 在JS文件中注册click事件,利用回调函数setInterval()不断减少document.body.scrollTop的数值直到为0,并检查是否为0,如果是则调用clearInterval()
3. 为了显示返回顶部时的缓冲效果,设置一个速度speed,是top的五分之一,每次document.body.scrollTop减少的数值则为speed
4. 为了达到第二屏才显示返回顶部按键的效果,在window.onscroll的事件上注册判断函数:当document.body.scrollTop(滚动条离整个网页页面顶端的距离)大于或等于document.documentElement.clientHeight(网页页面实际可视距离)时,才将a标签的display设置为block
具体代码:
window.onload = function () {
var timer = null;
var backTop = document.getElementById('backTop');
var height = document.documentElement.clientHeight;
window.onscroll = function(){
if(document.body.scrollTop >= height)
{
backTop.style.display = "block";
}
else{
backTop.style.display = "none";
}
};
backTop.addEventListener('click', function(){
timer = setInterval(function(){
var top = document.body.scrollTop;
var speed = top / 5;
document.body.scrollTop = top - speed;
if(top == 0)
{
clearInterval(timer);
}
},30);
});
};
//代码来自极客学院教程http://www.jikexueyuan.com/course/342_2.html?ss=1
其中,document.body指的是整个文档中的body标签,当文档在浏览器中被渲染成页面时是整个页面的长度;而document.documentElement指的是当前页面的可视区域。
1. 创建一个a标签,display设置为none
2. 在JS文件中注册click事件,利用回调函数setInterval()不断减少document.body.scrollTop的数值直到为0,并检查是否为0,如果是则调用clearInterval()
3. 为了显示返回顶部时的缓冲效果,设置一个速度speed,是top的五分之一,每次document.body.scrollTop减少的数值则为speed
4. 为了达到第二屏才显示返回顶部按键的效果,在window.onscroll的事件上注册判断函数:当document.body.scrollTop(滚动条离整个网页页面顶端的距离)大于或等于document.documentElement.clientHeight(网页页面实际可视距离)时,才将a标签的display设置为block
具体代码:
window.onload = function () {
var timer = null;
var backTop = document.getElementById('backTop');
var height = document.documentElement.clientHeight;
window.onscroll = function(){
if(document.body.scrollTop >= height)
{
backTop.style.display = "block";
}
else{
backTop.style.display = "none";
}
};
backTop.addEventListener('click', function(){
timer = setInterval(function(){
var top = document.body.scrollTop;
var speed = top / 5;
document.body.scrollTop = top - speed;
if(top == 0)
{
clearInterval(timer);
}
},30);
});
};
//代码来自极客学院教程http://www.jikexueyuan.com/course/342_2.html?ss=1
其中,document.body指的是整个文档中的body标签,当文档在浏览器中被渲染成页面时是整个页面的长度;而document.documentElement指的是当前页面的可视区域。
相关文章推荐
- JavaScript判断表单为空及获取焦点的方法
- JavaScript实现弹出模态窗体并接受传值的方法
- JavaScript实现点击单元格改变背景色的方法
- 原生javascript实现图片无缝滚动效果
- 原生javascript实现自动更新的时间日期
- js随机生成26个大小写字母
- JavaScript操作Cookie
- javascript笔记7-事件
- 2016/02/11 grid3D.js
- js 默认的参数、可变的参数、变量作用域
- js 中对象--属性相关操作
- jsp是怎么运行的
- Javascript中的设置事件/事件对象及事件对象作用
- JavaScript高级程序设计学习笔记第十一章--DOM扩展
- js 的对象--如何定义一个对象
- jsp的标签
- JSP的内置对象(9个)直接使用
- js 中特殊形势的函数-匿名函数的应用
- knockoutjs七 click 绑定
- #学习笔记#(40)JS单图+多图轮播切换