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获取当前ip的代码
May 10 Javascript
自动设置iframe大小的jQuery代码
Sep 11 Javascript
jquery(hide方法)隐藏指定元素实例
Nov 11 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
Mar 05 Javascript
深入理解React中es6创建组件this的方法
Aug 29 Javascript
JS 循环li添加点击事件 (闭包的应用)
Dec 10 Javascript
详细分析JS函数去抖和节流
Dec 05 Javascript
详解基于React.js和Node.js的SSR实现方案
Mar 21 Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 Javascript
vue2.0自定义指令示例代码详解
Apr 25 Javascript
微信小程序 弹窗输入组件的实现解析
Aug 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过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
微信自定义分享php代码分析
2016/11/24 PHP
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
深入研究React中setState源码
2017/11/17 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
图解javascript作用域链
2019/05/27 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
Python语言的变量认识及操作方法
2018/02/11 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
django2.0扩展用户字段示例
2019/02/13 Python
python实现微信防撤回神器
2019/04/29 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
keras得到每层的系数方式
2020/06/15 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
司机工作自我鉴定
2014/09/19 职场文书
家庭贫困证明
2014/09/23 职场文书
项目建议书
2015/02/04 职场文书
税务会计岗位职责
2015/04/02 职场文书
贷款工资证明范本
2015/06/12 职场文书
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android
uni-app 微信小程序授权登录的实现步骤
2022/02/18 Javascript