全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jQuery中页面返回顶部的方法总结

当页面过长时,通常会在页面下方有一个返回顶部的button,总结一下,大概三种实现方法,下面说下各方法及优缺点。

方法一 锚点定位

<a href="#" class="top" id="top">返回頂部</a>

这种方法设置方便,但缺点是会刷新页面(我是在同事的乐视手机上发现的)。

方法二 window.scrollTo(x,y)

<a href="javascript:scrollTo(0,0)" class="top" id="top">返回頂部</a>

这种方法也很方便,并且不会刷新页面,缺点是没有滚动效果。

scrollTo接收的参数用来定位视口左上角在整个滚动内容区域的坐标,比如我设置scrollTo(100,100),就是让滚动内容的坐标(100,100)的点处在视口的左上角。

方法三 设置带有动画效果的滚动

原生方法

/* html部分 */
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<a href="javascript:;" class="top" id="top">返回頂部</a>
</body>
<style>
/* css部分 */
div {
  height: 150px;
}
div:nth-child(odd) {
  background-color: #8ae238;
}
div:nth-child(even) {
  background-color: #66d9ef;
}
.top {
  position: fixed;
  right: 50px;
  bottom: 50px;
  display: block;
  width: 50px;
  height: 50px;
  font-size: 20px;
  background-color: white;
  display: none;
}
</style>
<script>
/* js代码 */
  var topBtn = document.getElementById('top');
  // 获取视窗高度
  var winHeight = document.documentElement.clientHeight;
  window.onscroll = function () {
    // 获取页面向上滚动距离,chrome浏览器识别document.body.scrollTop,而火狐识别document.documentElement.scrollTop,这里做了兼容处理
    var toTop = document.documentElement.scrollTop || document.body.scrollTop;
    // 如果滚动超过一屏,返回顶部按钮出现,反之隐藏
    if(toTop>=winHeight){
      topBtn.style.display = 'block';
    }else {
      topBtn.style.display = 'none';
    }
  }
  topBtn.onclick=function () {
    var timer = setInterval(function () {
      var toTop = document.documentElement.scrollTop || document.body.scrollTop;
      // 判断是否到达顶部,到达顶部停止滚动,没到达顶部继续滚动
      if(toTop == 0){
        clearInterval(timer);
      }else {
        // 设置滚动速度
        var speed = Math.ceil(toTop/5);
        // 页面向上滚动
        document.documentElement.scrollTop=document.body.scrollTop=toTop-speed;
      }
    },50);
  }
</script>

大概的思路就是:

为window绑定scroll事件,监听页面滚动距离,当超过一屏高度时,显示返回顶部的按钮

为按钮绑定点击事件,返回顶部的方法就是获取页面滚动的距离,然后计算步长,这里采用滚动距离除以5的方式,滚动速度由快到慢。这里使用定时器控制滚动的频率,建议设置较小一点的值,如果时间间隔过大会有‘跳帧'的感觉。
这种方法优点是有了动画效果,只是实现起来比较麻烦,下面介绍一下jQuery方法。

jQuery方法

jQuery方法只是在js代码部分不同,具体代码如下

<script>
/* js代码 */
$(window).on('scroll', function () {
  // 判断显示还是隐藏按钮
  if($(this).scrollTop()>=$(this).height()){
    $('#top').fadeIn('slow');
  }else {
    $('#top').fadeOut('slow');
  }
});
$('#top').on('click',function () {
  // 设置滚动动画,这里注意使用的是$('body')不是$(window)
  $('body').animate({scrollTop:'0'},500);
});
</script>

jQuery方法的优点是方便,而且动画效果比较流畅。

这里需要注意设置animate方法时使用的是jQuery封装的body对象而不是window对象,因为我们是要设置body的scrollTop属性。

总结

三个方法各有优劣,不过总体来讲,jQuery的方法更适合大多数场景。

以上所述是小编给大家介绍的jQuery中页面返回顶部的方法总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# jquery  # 页面返回顶部  # js+JQuery返回顶部功能如何实现  # 用jQuery实现的智能隐藏、滑动效果的返回顶部代码  # 基于jquery的返回顶部效果(兼容IE6)  # JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)  # 仿新浪微博返回顶部的jquery实现代码  # jquery小火箭返回顶部代码分享  # jQuery实现返回顶部功能适合不支持js的浏览器  # jquery左边浮动到一定位置时显示返回顶部按钮  # 使用jQuery实现返回顶部  # jQuery实现小火箭返回顶部特效  # 的是  # 这种方法  # 绑定  # 小编  # 是在  # 会有  # 在此  # 会在  # 也很  # 给大家  # 三种  # 火狐  # 各有  # 较小  # 过大  # 介绍一下  # 快到  # 机上  # 所述  # 需要注意 


相关文章: 如何通过商城免费建站系统源码自定义网站主题?  建站之星导航菜单设置与功能模块配置全攻略  小型网站制作HTML,*游戏网站怎么搭建?  如何通过可视化优化提升建站效果?  建站之星好吗?新手能否轻松上手建站?  建站之星微信建站一键生成小程序+多端营销系统  完全自定义免费建站平台:主题模板在线生成一站式服务  已有域名建站全流程解析:网站搭建步骤与建站工具选择  如何在服务器上配置二级域名建站?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何选择可靠的免备案建站服务器?  如何高效搭建专业期货交易平台网站?  如何制作网站标识牌,动态网站如何制作(教程)?  如何用IIS7快速搭建并优化网站站点?  深圳网站制作案例,网页的相关名词有哪些?  上海网站制作开发公司,上海买房比较好的网站有哪些?  动图在线制作网站有哪些,滑动动图图集怎么做?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  高端企业智能建站程序:SEO优化与响应式模板定制开发  高端网站建设与定制开发一站式解决方案 中企动力  如何选择香港主机高效搭建外贸独立站?  如何在IIS7中新建站点?详细步骤解析  音乐网站服务器如何优化API响应速度?  制作电商网页,电商供应链怎么做?  如何获取PHP WAP自助建站系统源码?  如何选择适合PHP云建站的开源框架?  SQL查询语句优化的实用方法总结  建站之星代理如何获取技术支持?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  制作旅游网站html,怎样注册旅游网站?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  北京网站制作公司哪家好一点,北京租房网站有哪些?  建站为何优先选择香港服务器?  宝塔建站助手安装配置与建站模板使用全流程解析  Android自定义listview布局实现上拉加载下拉刷新功能  如何获取开源自助建站系统免费下载链接?  广州建站公司哪家好?十大优质服务商推荐  广州美橙建站如何快速搭建多端合一网站?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  如何快速启动建站代理加盟业务?  长沙做网站要多少钱,长沙国安网络怎么样?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  如何通过远程VPS快速搭建个人网站?  ,在苏州找工作,上哪个网站比较好?  网站制作公司,橙子建站是合法的吗?  香港服务器WordPress建站指南:SEO优化与高效部署策略  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何快速登录WAP自助建站平台?  南平网站制作公司,2025年南平市事业单位报名时间? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。