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+css+ul模拟列表菜单具体实现思路
Apr 15 Javascript
JS获取地址栏参数的小例子
Aug 23 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
Mar 18 Javascript
javascript文本模板用法实例
Jul 31 Javascript
AngularJS通过$sce输出html的方法
Sep 22 Javascript
js实现简单的选项卡效果
Feb 23 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
React利用插件和不用插件实现双向绑定的方法详解
Jul 03 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
Dec 20 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
Jan 03 Javascript
Vue中v-for的数据分组实例
Mar 07 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
May 07 Javascript
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开发环境配置记录
2011/01/14 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
PHP微信分享开发详解
2017/01/14 PHP
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
python一键去抖音视频水印工具
2018/09/14 Python
python 高效去重复 支持GB级别大文件的示例代码
2018/11/08 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
Python列表切片常用操作实例解析
2019/12/16 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
物理教育专业毕业生推荐信
2013/11/03 职场文书
八年级英语教学反思
2014/01/09 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
狂人日记读书笔记
2015/06/30 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
pytorch中的 .view()函数的用法介绍
2022/03/17 Python
python playwright之元素定位示例详解
2022/07/23 Python