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 相关文章推荐
js实现快速分享功能(你的文章分享工具)
Jun 25 Javascript
JQuery导航菜单选择特效
Apr 11 Javascript
JS实现列表的响应式排版(推荐)
Sep 01 Javascript
Vue.js使用v-show和v-if的注意事项
Dec 13 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
Mar 16 Javascript
浅析bootstrap原理及优缺点
Mar 19 Javascript
ejsExcel模板在Vue.js项目中的实际运用
Jan 27 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
浏览器事件循环与vue nextTicket的实现
Apr 16 Javascript
VUE项目中加载已保存的笔记实例方法
Sep 14 Javascript
JS高级程序设计之class继承重点详解
Jul 07 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 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
python之yield表达式学习
2014/09/02 Python
Python中的__SLOTS__属性使用示例
2015/02/18 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
python-opencv颜色提取分割方法
2018/12/08 Python
Python反爬虫技术之防止IP地址被封杀的讲解
2019/01/09 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
墨西哥购物网站:Elektra
2020/01/21 全球购物
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
儿科护理实习自我鉴定
2013/09/19 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技