JS鼠标滚动分页效果示例


Posted in Javascript onJuly 05, 2017

首先先看问题:

JS鼠标滚动分页效果示例

在开发的时候,看到这种现象 就会思考:为什么左边的数据出来比右边的慢呢?因为这里没有进行分页,左边的数据多,所以查询相对较慢。

解决办法就是进行分页,但是在项目中用到的插件,不能控制样式,改变分页的宽度,样式就会乱掉。最简单的办法就是不分页(^_^)

但是既然是自己份内的事,为啥不做好呢?那就写分页呗,滚动分页!

问了其他同事,其他同事也。。。你去百度去。。。。

是啊,网上一大堆 ,但都是乱七八糟的,也没有效果图。。。坑

经过一番思考,和百度 思路来了:

需要了解三个dom元素,分别是:clientHeight、offsetHeight、scrollTop。

clientHeight:这个元素的高度,占用整个空间的高度,所以,如果一个div有滚动条,那个这个高度则是不包括滚动条没显示出来的下面部分的内容。而只是单纯的DIV的高度。

offsetHeight:是指元素内容的高度。依照上面的,那这个高度呢就是DIV内部的高度,包括可见部分及以滚动条下面的不可见部分。

scrollTop:这个是什么呢?他可以理解为滚动条可以滚动的长度。

举例,如果一个DIV高度是400px(即clientHeight为400),而里面的内容是一个很长的列表,内容的高度是1000px(即offsetHeight为1000)。那么,可见部分我们看到400px,1000px的内容中还有600px不可见。而这不可见的部分呢,正是我们通过拉动滚动条才能把这一部分显示出来。你如果滚动条不拉动,此时scrollTop为0,如果你把滚动条拉到底,显示出列表最下面的部分,此时,scrollTop为600。 所以scrollTop的取值区间为[0, 600]。 所以这个600可以理解为滚动条可以滚动的长度。

理解完上面的这个概念之后。要判断是否滚动到底部就很好做了。

首先,我们拉动滚动条,从最上面拉到最下面,变化的是scrollTop的值,而这个值是有一个区间的。

这个区间是: [0, (offsetHeight - clientHeight)]

这里说的已经很明白了,然后我再补充几点:

这个scrollTop 是离滚动窗口的顶部的距离,还有就是要计算这个滚动条离底部的距离 ,要不然滚动事件会多次触发,还会出现往上滚动触发。

相关实现代码:

//滚动进行分页
    $(".table-scrollable").scroll(function(){
      //获得滚动的高度
     var scrollhight = $(".page-risk-sumary .table-scrollable").scrollTop();
    //获得滚动窗口的高度
     var windowScrollhight = $(".page-risk-sumary .table-scrollable").height();
     //获得文档高度
 var domhight = $(".page-risk-sumary .table-scrollable").get(0).scrollHeight;
     if(scrollhight-17>=domhight-windowScrollhight){
      pageNumber = (Number(pageNumber)+1)+"";
      if(pageNumber<=showContent.totalPage){
        showContent.getContractList({
          "pageNumber":pageNumber,
          "pageSize": "10",
          "focus":"0"
        });
      }
   }
  });

这个17 是通过 domhight-windowScrollhight得到的,这个也就是滚动条到底部的距离。

很容易吧,这样就实现滚动分页了!!!

看下效果图:

JS鼠标滚动分页效果示例

以上所述是小编给大家介绍的JS鼠标滚动分页效果示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery+ajax实现鼠标单击修改内容的方法
Jun 27 Javascript
js防止DIV布局滚动时闪动的解决方法
Oct 30 Javascript
简单的JS时钟实例讲解
Jan 13 Javascript
浅谈window.onbeforeunload() 事件调用ajax
Jun 29 Javascript
jQuery回到顶部的代码
Jul 09 Javascript
js 获取范围内的随机数实例代码
Aug 02 Javascript
JS实现异步上传压缩图片
Apr 22 Javascript
angular中实现li或者某个元素点击变色的两种方法
Jul 27 Javascript
vue axios 表单提交上传图片的实例
Mar 16 Javascript
layui 动态设置checbox 选中状态的例子
Sep 02 Javascript
webpack的 rquire.context用法实现工程自动化的方法
Feb 07 Javascript
JS实现超级好看的鼠标小尾巴特效
Dec 01 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 #jQuery
Angular 2父子组件数据传递之@Input和@Output详解 (上)
Jul 05 #Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
Jul 05 #Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 #Javascript
Angular2 自定义validators的实现方法
Jul 05 #Javascript
js获取元素的偏移量offset简单方法(必看)
Jul 05 #Javascript
使用angular帮你实现拖拽的示例
Jul 05 #Javascript
You might like
浅析php变量作用域的一些问题
2013/08/08 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
DOM 事件的深入浅出(二)
2016/12/05 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
Python获取当前函数名称方法实例分享
2018/01/18 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
学校学雷锋活动总结
2014/06/26 职场文书
赢在执行观后感
2015/06/16 职场文书
网吧温馨提示
2015/07/17 职场文书
认识实习感想
2015/08/10 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS