JS实现一键回顶功能示例代码
更新时间:2013年10月28日 11:33:04 作者:
一键回顶功能想必大家在浏览网页时会经常遇到吧,实现的方法也有很多,在本文为大家介绍下js是如何实现的,感兴趣的朋友可以参考下
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);
});
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);
});
相关文章
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码...2007-04-04
window.event.keyCode兼容IE和Firefox实现js代码
window.event.keyCode兼容IE和Firefox具体实现代码如下,感兴趣的朋友可以参考下哈2013-05-05
按键测试,支持像 Ctrl+Alt+Shift+T 的组合键
按键测试,支持像 Ctrl+Alt+Shift+T 的组合键...2006-10-10
js使用Array.prototype.sort()对数组对象排序的方法
这篇文章主要介绍了js使用Array.prototype.sort()对数组对象排序的方法,实例分析了Array.prototype.sort()的原理与相关的使用技巧,需要的朋友可以参考下2015-01-01


最新评论