JS实现一键回顶功能示例代码


Posted in Javascript onOctober 28, 2013

1.基础准备:

scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置。

scroll top offset 指的是滚动条相对于其顶部的偏移。

如果该方法未设置参数,则返回以像素计的相对滚动条顶部的偏移。

语法

$(selector).scrollTop(offset)

2.

toggleClass() 对设置或移除被选元素的一个或多个类进行切换。

例如对设置和移除所有 <p> 元素的 "main" 类进行切换:

$("button").click(function(){ 
$("p").toggleClass("main"); 
});

3.

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

4.

scrollTo() 方法可把内容滚动到指定的坐标。

scrollTo(xpos,ypos)

参数 描述
xpos 必需。要在窗口文档显示区左上角显示的文档的 x 坐标。
ypos 必需。要在窗口文档显示区左上角显示的文档的 y 坐标。

由此的一段实现一键向上的代码如下:

var topbtn = $("#totop"); 想要一键向上的按钮元素 
var lastScroll = 0; 
topbtn.css("display", "none"); window.onscroll = function(){ onscroll貌似为html5的属性 
var top = $(window).scrollTop();初始均为0

if(top > 0){ 
topbtn.css("display", ""); 
} 
if(top == 0){若为起始状态,则不显示向上图标 
topbtn.css("display", "none"); 
} 
}; topbtn.click(function(){ 点击事件 
var scrollTop = 0; 
var curPos = $(window).scrollTop();现在滚动条的位置 
topbtn.addClass("movingtotop"); 运动中显示另外的图片 
var step = Math.abs(scrollTop - curPos) / 200 ; 
var tid = setInterval(function() {不断调用,帧动成画 
topbtn.toggleClass("movingtotop"); 精妙的一段代码,用元素属性的设置和删除交替,使得有动态感闪烁效果 
if (curPos > scrollTop + 14) { 
curPos -= step; 
step = step * 1.05;速度逐步加快 
window.scrollTo(0, curPos); 
} else if (curPos <= scrollTop + 14){直接跳到起始位置 
window.scrollTo(0, scrollTop); 
topbtn.removeClass("movingtotop"); 
clearInterval(tid); 关闭循环 
} 
}, 0.01); 
});
Javascript 相关文章推荐
Javascript----文件操作
Jan 18 Javascript
关于js new Date() 出现NaN 的分析
Oct 23 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 Javascript
jquery列表拖动排列(由项目提取相当好用)
Jun 17 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
May 05 Javascript
jQ处理xml文件和xml字符串的方法(详解)
Nov 22 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 Javascript
史上最全JavaScript常用的简写技巧(推荐)
Aug 17 Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
Apr 23 Javascript
vue+vue-router转场动画的实例代码
Sep 01 Javascript
js实现随机数小游戏
Jun 28 Javascript
简单的js表单验证函数
Oct 28 #Javascript
自己写的Javascript计算时间差函数
Oct 28 #Javascript
Textarea根据内容自适应高度
Oct 28 #Javascript
将json当数据库一样操作的javascript lib
Oct 28 #Javascript
一个JavaScript变量声明的知识点
Oct 28 #Javascript
Javascript实现页面跳转的几种方式分享
Oct 26 #Javascript
javascript中简单的进制转换代码实例
Oct 26 #Javascript
You might like
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
解析PHP处理换行符的问题 \r\n
2013/06/13 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
js setTimeout 常见问题小结
2013/08/13 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
让Python代码更快运行的5种方法
2015/06/21 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
SQL Server笔试题
2012/01/10 面试题
工作违纪检讨书
2014/02/17 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
出国英文推荐信
2014/05/10 职场文书
博士生求职信
2014/07/06 职场文书
高中学生自我评价范文
2014/09/23 职场文书
高中校园广播稿
2014/10/21 职场文书
2014年安全管理工作总结
2014/12/01 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
nginx配置虚拟主机的详细步骤
2021/07/21 Servers
python中的3种定义类方法
2021/11/27 Python