当前位置:编程学习 > JAVA >>

jquery的滚动事件

 

今天需要做一个异步鼠标滚动加载,以前做了几个,但是全部都是纯js写出来的而且也不记得放到那个文件还是项目中去了(本人懒得整理)。

            本来打算自己写再写一个,正准备动手时,突然发现,我很悲惨,那个鼠标滚动事件不记得是哪个了[老了,记性差],只好百度或者谷歌一下啊!这一查倒是查到方法了,

            不过附带了发现了很多可以直接用的插件例如:jquery.endless-scroll,paulirish-infinite-scroll很多很多啊~多的自己都不好选那个了。最后本人还是懒得想了直接自己再写一个吧

            强大的jquery中有个一个scroll的方法,文档中介绍和说明是这样的啊!

            “在每一个匹配元素的scroll事件中绑定一个处理函数。当滚动条发生变化时触发”关键是后面一句,满足条件暂时就用它了

            这个dome我就拿window对象来做[本人开发需要]

www.zzzyk.com

 1 $(document).ready(function () { //本人习惯这样写了

 2                 $(window).scroll(function () {

 3                     //$(window).scrollTop()这个方法是当前滚动条滚动的距离

 4                     //$(window).height()获取当前窗体的高度

 5                     //$(document).height()获取当前文档的高度

 6                     var bot = 50; //bot是底部距离的高度

 7                     if ((bot + $(window).scrollTop()) >= ($(document).height() - $(window).height())) {

 8                         //当底部基本距离+滚动的高度〉=文档的高度-窗体的高度时;

 9                         //我们需要去异步加载数据了

10                         $.getJSON("url", { page: "2" }, function (str) { alert(str); });

11                     }

12                 });

13             });

补充一下 在外包定义一个var scrollH = 0; //上次滚动的位置记录

并且那个判断应修改成(bot + $(window).scrollTop()) >= ($(document).height() - $(window).height()) && $(window).scrollTop() > scrollH

可能会更好

其实,这篇文章可能没什么好写的,唯一有一丁点价值就是说明那个$(window).height()和$(document).height()的区别。

            对了,补充一句$(window).scrollTop()和$(document).scrollTop()是没什么区别的,至少我在IE8中没发现是不一样的.

新发现一个问题,我的这个滚动方法不知为什么会执行两次,求助大家啊~~

  摘自 明天的天亮

补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,