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 相关文章推荐
JScript的条件编译
May 29 Javascript
javascript 节点遍历函数
Mar 28 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
Apr 06 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
Nov 13 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
Jun 12 Javascript
JavaScript 栈的详解及实例代码
Jan 22 Javascript
setTimeout函数的神奇使用
Feb 26 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
Mar 06 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 jQuery
如何把vuejs打包出来的文件整合到springboot里
Jul 26 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
Sep 24 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提取中文首字母
2008/04/09 PHP
php设置编码格式的方法
2013/03/05 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
Python中使用PIPE操作Linux管道
2015/02/04 Python
Python装饰器用法实例分析
2019/01/14 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
类如何去实现接口
2013/12/19 面试题
幼儿园大班毕业教师寄语
2014/04/03 职场文书
银行委托书范本
2014/04/04 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python
Redis读写分离搭建的完整步骤
2021/09/14 Redis
SQL Server 中的事务介绍
2022/05/20 SQL Server