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 相关文章推荐
使用js实现雪花飘落效果
Aug 26 Javascript
js触发onchange事件的方法说明
Mar 08 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
May 08 Javascript
使用jquery解析XML的方法
Sep 05 Javascript
JavaScript获取指定元素位置的方法
Apr 08 Javascript
jquery 中toggle的2种用法详解(推荐)
Sep 02 Javascript
详解JS几种变量交换方式以及性能分析对比
Nov 25 Javascript
JS冒泡事件与事件捕获实例详解
Nov 25 Javascript
js放到head中失效的原因与解决方法
Mar 07 Javascript
使用webpack-dev-server处理跨域请求的方法
Apr 18 Javascript
Node.js 多线程完全指南总结
Mar 27 Javascript
vue 动态创建组件的两种方法
Dec 31 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 addslashes 函数详细分析说明
2009/06/23 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
2012/07/22 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
PHP实现倒计时功能
2020/11/16 PHP
jquery使用经验小结
2015/05/20 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
Bootstrap进度条实现代码解析
2017/03/07 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
Python中单、双下划线的区别总结
2017/12/01 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python http基本验证方法
2018/12/26 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
python getopt模块使用实例解析
2019/12/18 Python
django rest framework serializers序列化实例
2020/05/13 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
如何进行Linux分区优化
2013/02/12 面试题
《狼和小羊》教学反思
2014/04/20 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
大学生团员个人总结
2015/02/14 职场文书
2015年大学社团工作总结
2015/04/09 职场文书
公司开业主持词
2015/07/02 职场文书
小学生教师节广播稿
2015/08/19 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers