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 相关文章推荐
为Yahoo! UI Extensions Grid增加内置的可编辑器
Mar 10 Javascript
jQuery CSS()方法改变现有的CSS样式表
Sep 09 Javascript
基于jQuery实现的无刷新表格分页实例
Feb 17 Javascript
location.hash保存页面状态的技巧
Apr 28 Javascript
使用RequireJS库加载JavaScript模块的实例教程
Jun 06 Javascript
AngularJS中如何使用echart插件示例详解
Oct 26 Javascript
Angularjs中数据绑定的实例详解
Aug 25 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
Sep 18 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
Dec 07 Javascript
浅谈FastClick 填坑及源码解析
Mar 02 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
Oct 09 Javascript
在JS循环中使用async/await的方法
Oct 12 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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
PHP下几种删除目录的方法总结
2007/08/19 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
Ruffy javascript 学习笔记
2009/11/30 Javascript
Js 中debug方式
2010/02/07 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
JavaScript模拟push
2016/03/06 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
使用JavaScript破解web
2018/09/28 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
详解Python 切片语法
2019/06/10 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
打印机墨盒:123Inkjets
2017/02/16 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
物流专业大学生的自我鉴定
2013/11/13 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
工作调动申请报告
2015/05/18 职场文书
React中的Context应用场景分析
2021/06/11 Javascript
Java使用jmeter进行压力测试
2021/07/09 Java/Android