javascript实现回到顶部特效
在浏览长页面时,用户不得不多次滚动滚动条才能回到页面顶部,这无疑会降低用户体验。想象一下,如果在页面的右下角有一个“返回顶部”的按钮,用户只需轻轻一点,就能迅速回到页面顶部,这将大大提高用户的浏览体验。
在HTML中,我们可以轻松添加一个这样的按钮:
```html
```
通过CSS,我们可以将这个按钮固定在屏幕的右下角,即使页面滚动,按钮也会始终保持在视线范围内:
```css
btn1{position:fixed;bottom:10px;right:10px;}
```
而JavaScript则负责实现点击按钮后页面的滚动效果。我们可以创建一个函数,当页面被滚动时,会计算缓冲速度并慢慢滚动到顶部。当用户点击按钮时,会启动一个定时器来实现这一功能。具体代码如下:
```javascript
window.onload=function(){
var oBtn=document.getElementById("btn1"); //获取按钮元素
var timer=null; //定义定时器变量
var sBys=true; //声明一个变量来判断是否为系统滚动还是用户手动滚动
window.onscroll=function(){ //当页面滚动时执行的函数
if(!sBys){ //如果不是用户滚动
clearInterval(timer); //清除定时器
}
sBys=false; //将状态设置为非用户滚动
}
oBtn.onclick=function(){ //当点击按钮时执行的函数
timer = setInterval(function(){ //启动定时器
var scrollTop=document.documentElement.scrollTop||document.body.scrollTop; //获取页面滚动的距离顶部的距离
var ispeed=Math.floor(-scrollTop/8); //计算缓冲速度并向下取整
if(scrollTop==0){ //当滚动到顶部时
clearInterval(timer); //清除定时器
}
sBys=true; //将状态设置为用户滚动
document.documentElement.scrollTop=document.body.scrollTop=scrollTop+ispeed; //实现页面的缓慢滚动效果
},30); //定时器每30毫秒执行一次
}
}
```
在此过程中涉及的知识点包括计算速度(缓冲)并向下取整、当scrollTop等于0时需要清除定时器以及需要判断是用户还是js操作滚动条。如果是用户操作滚动条,就要清除定时器以防止干扰用户的正常操作。以上就是本文的全部内容,希望大家能够喜欢并灵活应用。别忘了使用`cambrian.render('body')`来渲染你的页面元素哦!
编程语言
- javascript实现回到顶部特效
- BootStrap selectpicker
- JavaScript中常见获取元素的方法汇总
- 如何用ASP发送带附件的邮件?
- linux命令之调试工具strace的深入分析
- WEB在模态窗体里导出或下载文件功能代码
- SQLServer设置客户端使用IP地址登录的图文详解
- php的优点总结 php有哪些优点
- ASP.NET Repeater 单双行数据换色示例
- 详解CentOS6.5 安装 MySQL5.1.71的方法
- 实例讲解php实现多线程
- 云服务器Ubuntu_Server_16.04.1安装MySQL并开启远程连接
- 在dropDownList中实现既能输入一个新值又能实现下
- vue里面父组件修改子组件样式的方法
- 用Object.prototype.toString.call(obj)检测对象类型原因分
- Ajax提交表单页面刷新很快的解决方法