页面滚动结束时的 jQuery 回调

2024-01-02

我有一个 div 标签,在 css 中设置为“overflow:scroll”。
我有一个回调,应该在使用它找到的元素的滚动末尾调用。

$('#details').scroll( function () {  
    if ($(this).height() == ($(this).get(0).scrollHeight - $(this).scrollTop())) {  
        getDetails($("span:last").attr("id"), 3);  
    }  
});  

其中 getDetails 是我使用的回调。它获取 div 内范围的最后一个元素并将其作为值发送。都是ajax调用。问题是每次我将鼠标悬停到 div 末尾时 getDetails 都会被调用三次。关于如何让它被调用一次有什么建议吗?

仅当我使用滚轮或按滚动条按钮向下时才会发生重复回调。拖动滚动条时一切正常。


您应该推迟处理具有持续反馈的事件,例如滚动和调整大小事件,方法是使用setTimeout/clearTimeout。当引发您要处理的事件时,会在合理的持续时间内调用 setTimeout 中的预期处理程序,但保留对 setTimeout 返回句柄的引用。现在,修改相同的代码来检查该句柄是否存在,如果存在,clearTimeout并将句柄更新为新的 setTimeout 调用。

这是一个工作示例:http://jsfiddle.net/SBgXA/ http://jsfiddle.net/SBgXA/

       var timeoutHandle;

       var handler =  function(e) {
              alert('raised'); // put your code here
              if ($(this).height() == ($(this).get(0).scrollHeight - $(this).scrollTop()) {  
                getDetails($("span:last").attr("id"), 3);  
              }
       }

       $('#details').scroll(function(e) {
           clearTimeout(timeoutHandle);

           timeoutHandle = setTimeout(function() {
             handler(e);
           }, 100);
       });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

页面滚动结束时的 jQuery 回调 的相关文章

随机推荐

  • 以编程方式安装/卸载 APK(PackageManager 与 Intents)

    我的应用程序安装其他应用程序 并且它需要跟踪它已安装的应用程序 当然 这可以通过简单地保留已安装应用程序的列表来实现 但这应该是没有必要的 PackageManager 应该负责维护installedBy a b 关系 事实上 根据API它
  • 需要帮助将两个 3 通道图像合并为 6 通道图像 Python

    我正在尝试仅使用 Python 将两个不同的 RGB 图像组合成一个 6 通道图像 Tiff 最好 我所拥有的是从普通相机拍摄的 RGB 图像以及另一个基于 SfM 重建的法线贴图的 RGB 图像 这些图像具有相同的尺寸 我只需将一个图像叠
  • viewController 中的 pushViewController 和 tableViewController

    我有一个 UIViewController 该控制器包含在 navigationController 中 我在这个 viewController 中添加了一个 UITableViewController 当我按下 tableView 的单元
  • 无符号字符数组到十六进制表示 NSString

    我有一个无符号字符数组 我想将其转换为十六进制 NSString 目前我按以下方式执行 unsigned char result 16 Fill the array NSString myHexString NSString stringW
  • 使用 webpack 基于环境变量的 SASS 条件导入(每个环境使用不同的主题)

    对于我的 Vue 网站项目 使用使用 SASS 的 Webpack 生成的单个样式表 我想要 基于环境变量的条件 SASS 导入 设置示例 env 例如 如果我有一个包含以下内容的环境 SASS THEME soft soft scss 一
  • XAML条件编译

    有没有一种简单的方法可以在我的 xaml 文件中使用与我的 c 代码相同的条件编译符号 有一些支持XAML 中的条件编译 http blog ikaika org 2011 08 run time and design time selec
  • Pandas 数据透视表的逆

    我有一个数据框 例如 df p 已经转换为数据透视表 import pandas as pd df pd DataFrame start year 2000 2001 2002 end year 2010 2011 2012 price 1
  • Android 测试给出 IllegalStateException: 未注册仪器

    我按照谷歌教程编写了我的第一个 Android 测试 当然我得到了错误 java lang IllegalStateException No instrumentation registered Must run under a regis
  • 向 python 生成器添加元素

    是否可以将元素附加到 python 生成器 我目前正在尝试从一组杂乱的文件夹中获取所有图像并将它们写入一个新目录 为了获取文件 我使用 os walk 它返回单个目录中的图像文件列表 虽然我可以用这个列表创建一个生成器 但我不知道如何将所有
  • 哪种 NoSQL 数据库最适合仅附加审计日志记录用例?

    我的用例是资源的审核日志记录 为了进行讨论 考虑一个非常简单的模式 资源名称 访问时间戳和访问用户名 有了所有 NoSQL 选项 我想知道哪种解决方案最适合我的用例 资源名称保存在图形数据库 Neo4j 中 虽然我们可以将顶点和边添加到连接
  • 如何获取所有正在运行的活动android?

    我想知道有没有办法获得所有跑步活动的列表 据我了解 一次只会运行一个活动 该活动将是屏幕上的活动活动 其他活动将处于暂停或停止状态 如果有
  • Rails Mailer:将电子邮件发送到本地文件

    有什么方法可以将 Rails 3 中的电子邮件发送到本地文件等 而不是使用 SMTP 服务器吗 我想在不使用任何类型的 SMTP 的情况下测试电子邮件的内容 最好仅在 DEV 环境中测试 最好的是本地 SMTP 或允许我检查电子邮件 检查电
  • 如何使用 Passport.js 访问 OAuth 的状态参数?

    我正在使用 Passport js 进行身份验证 并且每个Google 的 OAuth2 文档 https developers google com accounts docs OAuth2Login formingtheurl 我传递一
  • Python:使用 pyOpenSSL.crypto 读取 pkcs12 证书

    我有西班牙权威机构 FNMT 颁发的有效证书 我想用它来了解更多信息 该文件的扩展名是 p12 我想阅读其中的信息 名字和姓氏 并检查证书是否有效 可以用 pyOpenSSL 做到这一点吗 我想我必须使用 OpenSSL 中的加密模块 有任
  • 如何在 StringBuilder 上检查 null?

    我想在我的代码中专门检查 null 或空 空和空是否相同StringBuilder在Java中 例如 StringBuilder state new StringBuilder StringBuilder err new StringBui
  • 如何使用反射获得泛型类型的正确文本定义?

    我正在研究代码生成 并遇到了泛型的障碍 这是导致我出现问题的 简化 版本 Dictionary
  • 在网络浏览器中打开 R Shiny 应用程序时,传单多边形会失去颜色

    我正在使用 R 中的传单构建地图 将其部署为 Shiny 应用程序 Shiny 应用程序在 RStudio 中运行良好 但是当我在网络浏览器中打开它时 多边形失去了颜色 其他一切都很好 底图在那里 多边形都在那里 您可以将鼠标悬停在多边形上
  • Ipython笔记本缓存问题

    在 ipython 笔记本中 我调用从我自己的模块导入的函数并运行一些代码 我注意到 如果我更改函数中的代码 在笔记本之外 并执行笔记本 则旧版本的函数将运行 当我记得时 ipython笔记本或firefox似乎正在缓存我可以用ctrl F
  • Python Byte 不打印二进制

    当我在 Python 中打印这样的程序时 x b francis 输出是b francis 如果字节在0 s and 1为什么它不打印出来 你似乎从根本上感到困惑 以一种非常常见的方式 数据本身是一个不同的概念表示 即当您尝试时所看到的pr
  • 页面滚动结束时的 jQuery 回调

    我有一个 div 标签 在 css 中设置为 overflow scroll 我有一个回调 应该在使用它找到的元素的滚动末尾调用 details scroll function if this height this get 0 scrol