javascript实现回到顶部特效


Posted in Javascript onMay 06, 2015

HTML:

<input id="btn1" type="button" value="回到顶部" />

CSS:

#btn1{position:fixed;bottom:10px;right:10px;}

JS:

window.onload=funcition(){
  var oBtn=document.getElementById("btn");
  var timer=null;
  //申明一个变量看是否为系统还是用户滚动
  var sBys=true;
  window.onscroll=funcition(){
    if(!sBys){
      clearInterval(timer);
    }
    sBys=false;
  }
  oBtn.onclick=funcition(){
    timer = setInterval(funcition(){
      //获取scrollTop
      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)
  }
}

知识点:

1.计算速度(缓冲)向下取整
2.当scrollTop==0时需要清除定时器
3.需要判断是用户还是js操作滚动条,如果是用户操作就清除定时器

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
基于jQuery实现下拉框
Nov 24 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
Nov 09 Javascript
JS动态插入并立即执行回调函数的方法
Apr 21 Javascript
JS实现禁止鼠标右键的功能
Oct 15 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
Jul 24 Javascript
小程序组件之仿微信通讯录的实现代码
Sep 12 Javascript
实现Vue的markdown文档可以在线运行的方法示例
Dec 11 Javascript
JavaScript实现数字前补“0”的五种方法示例
Jan 03 Javascript
实现vuex与组件data之间的数据同步更新方式
Nov 12 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 Vue.js
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
javascript实现完美拖拽效果
May 06 #Javascript
avalonjs实现仿微博的图片拖动特效
May 06 #Javascript
avalonjs制作响应式瀑布流特效
May 06 #Javascript
javascript实现简单的html5视频播放器
May 06 #Javascript
js实现的四级左侧网站分类菜单实例
May 06 #Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
May 06 #Javascript
完美实现仿QQ空间评论回复特效
May 06 #Javascript
You might like
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
PHP时间格式控制符对照表分享
2013/07/23 PHP
PHP基本语法实例总结
2016/09/09 PHP
javascript 得到变量类型的函数
2010/05/19 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
在漏洞利用Python代码真的很爽
2007/08/26 Python
从零学Python之入门(三)序列
2014/05/25 Python
PyQt5每天必学之QSplitter实现窗口分隔
2018/04/19 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
python被修饰的函数消失问题解决(基于wraps函数)
2019/11/04 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
澳大利亚家具商店:Freedom
2020/12/17 全球购物
自我评价格式
2014/01/06 职场文书
学生会部长竞聘书
2014/03/31 职场文书
综合办公室主任岗位职责
2014/04/13 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
欢迎新生标语
2014/10/06 职场文书
文明单位创建材料
2014/12/24 职场文书
驻村工作简报
2015/07/20 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
element tree树形组件回显数据问题解决
2022/08/14 Javascript