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 相关文章推荐
jquery中通过父级查找进行定位示例
Jun 28 Javascript
javascript闭包入门示例
Apr 30 Javascript
Javascript 数组排序详解
Oct 22 Javascript
常见JS验证脚本汇总
Dec 01 Javascript
Jqgrid之强大的表格插件应用
Dec 02 Javascript
如何利用模板将HTML从JavaScript中抽离
Oct 08 Javascript
javascript数据结构之串的概念与用法分析
Apr 12 Javascript
Bootstrap输入框组件使用详解
Jun 09 Javascript
vue2.0 elementUI制作面包屑导航栏
Feb 22 Javascript
Vuex入门到上手教程
Jun 20 Javascript
js+springMVC 提交数组数据到后台的实例
Sep 21 Javascript
Javascript Worker子线程代码实例
Feb 20 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
Laravel 实现添加多语言提示信息
2019/10/25 PHP
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
JavaScript手机振动API
2016/06/11 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
js倒计时显示实例
2016/12/11 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python多线程下载文件的方法
2015/07/10 Python
Python批量更改文件名的实现方法
2017/10/29 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
详解python 爬取12306验证码
2019/05/10 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
Python批量启动多线程代码实例
2020/02/18 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
高中毕业生生活的自我评价
2013/12/08 职场文书
运动会广播稿30字
2014/01/21 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
解决python3安装pandas出错的问题
2021/05/20 Python
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
四十九个javascript小知识实用技巧
2021/11/20 Javascript
Oracle 触发器trigger使用案例
2022/02/24 Oracle
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript