首页 > Js开发 > JS简单实现一键回顶功能

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 坐标。
由此的一段实现一键向上的代码如下:
[javascript][/javascript] view plaincopy

  1. var topbtn = $("#totop"); 想要一键向上的按钮元素
  2. var lastScroll = 0;
  3. topbtn.css("display", "none");
  4. window.onscroll = function(){  onscroll貌似为html5的属性
  5.     var top = $(window).scrollTop();初始均为0
[javascript][/javascript] view plaincopy

  1.     if(top > 0){
  2.         topbtn.css("display", "");
  3.     }
  4.     if(top == 0){若为起始状态,则不显示向上图标
  5.         topbtn.css("display", "none");
  6.     }
  7. };
  8. topbtn.click(function(){ 点击事件
  9.     var scrollTop = 0;
  10.     var curPos = $(window).scrollTop();现在滚动条的位置
  11.     topbtn.addClass("movingtotop"); 运动中显示另外的图片
  12.     var step = Math.abs(scrollTop - curPos) / 200 ;
  13.     var tid = setInterval(function() {不断调用,帧动成画
  14.         topbtn.toggleClass("movingtotop"); 精妙的一段代码,用元素属性的设置和删除交替,使得有动态感闪烁效果
  15.         if (curPos > scrollTop + 14) {
  16.             curPos -= step;
  17.             step = step * 1.05;速度逐步加快
  18.             window.scrollTo(0, curPos);
  19.         } else if (curPos <= scrollTop + 14){直接跳到起始位置
  20.             window.scrollTo(0, scrollTop);
  21.             topbtn.removeClass("movingtotop");
  22.             clearInterval(tid); 关闭循环
  23.         }
  24.     }, 0.01);
  25. });

本文固定链接: http://www.devba.com/index.php/archives/3256.html | 开发吧

报歉!评论已关闭.