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实例教程(19) 使用HoTMetal(6)
Dec 23 Javascript
Jquery练习之表单验证实现代码
Dec 14 Javascript
下载文件个别浏览器文件名乱码解决办法
Mar 19 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
Apr 11 Javascript
JavaScript实现邮箱地址自动匹配功能代码
Nov 28 Javascript
jquery实现表单获取短信验证码代码
Mar 13 Javascript
javascript图片预览和上传(兼容IE)
Mar 15 Javascript
ES6新增的math,Number方法
Aug 06 Javascript
JavaScript学习笔记之数组基本操作示例
Jan 09 Javascript
js 将线性数据转为树形的示例代码
May 28 Javascript
vue.js 解决v-model让select默认选中不生效的问题
Jul 28 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 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读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
javascript动画效果类封装代码
2007/08/28 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
jquery 最简单的属性菜单
2009/10/08 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
vue axios登录请求拦截器
2018/04/02 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
2019/07/29 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
举例讲解Python中的算数运算符的用法
2015/05/13 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
python中字符串的操作方法大全
2018/06/03 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
Python pip配置国内源的方法
2020/02/14 Python
Python递归实现打印多重列表代码
2020/02/27 Python
后勤园长自我鉴定
2013/10/17 职场文书
英文版餐饮业求职信
2013/10/18 职场文书
中文教师求职信
2014/02/22 职场文书
新年晚会主持词
2014/03/24 职场文书
党风廉政承诺书
2014/03/27 职场文书
文明班级申报材料
2014/12/24 职场文书
2016春节家属慰问信
2015/03/25 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
Python torch.flatten()函数案例详解
2021/08/30 Python
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android
python 实现图片特效处理
2022/04/03 Python