JQuery:元素处于视图中时触发操作

2023-11-24

在我网站的页脚中,我使用 counUp.js (链接:http://inorganik.github.io/countUp.js/) 来计算三个数字。我在网站底部添加了这段代码:

   <script type="text/javascript">
          var c1 = new countUp("upnum1", 1, 27, 0, 4);
          var c2 = new countUp("upnum2", 1, 10, 0, 4);
          var c3 = new countUp("upnum3", 1, 27, 0, 4);
          var c4 = new countUp("upnum4", 1, 1000, 0, 4);
          window.onload = function() {
            c1.start();
            c2.start();
            c3.start();
            c4.start();
          }
    </script>

这效果很好,但当然,一旦页面加载就开始计数。当包含数字的 div 处于“视图中”而不是在加载页面时,如何设法触发此效果?尝试了一些 jQuery 的东西,但找不到有效的解决方案...谢谢!


有一个简单的检查来查看元素是否在视口中。

您可以选择使用插件或纯 JQuery。

相关 HTML :

<div id="inViewport">Is this in the viewport?</div>

纯 JQuery :

这是这个的小提琴:http://jsfiddle.net/zWtkc/1/

$.fn.isOnScreen = function(){

    var win = $(window);

    var viewport = {
        top : win.scrollTop(),
        left : win.scrollLeft()
    };
    viewport.right = viewport.left + win.width();
    viewport.bottom = viewport.top + win.height();

    var bounds = this.offset();
    bounds.right = bounds.left + this.outerWidth();
    bounds.bottom = bounds.top + this.outerHeight();

    return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));

};

$(document).ready(function(){
    $(window).scroll(function(){
        if ($('#inViewport').isOnScreen()) {
            // The element is visible, do something
            alert("in viewport!");
        } else {
            // The element is NOT visible, do something else
        }
    });
});

插件:

你可以使用这个插件:https://github.com/teamdf/jquery-visible/

$(document).ready(function(){
    if ($('#inViewport').visible(true)) {
        // The element is visible, do something
    } else {
        // The element is NOT visible, do something else
    }
});

或者你可以使用这个插件:http://www.appelsiini.net/projects/viewport它允许使用视口选择器,您的代码将如下所示:

$('#inViewport:in-viewport').doSomething();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQuery:元素处于视图中时触发操作 的相关文章

随机推荐

  • 如何在反序列化期间以编程方式选择构造函数?

    我想反序列化System Security Claims Claim对象按以下方式序列化 Issuer LOCAL AUTHORITY OriginalIssuer LOCAL AUTHORITY Type http my org ws 2
  • 如何标准化 Lucene 分数?

    我需要将 Lucene 分数标准化为 0 到 1 之间 例如 随机查询返回以下分数 8 864665 2 792687 2 792687 2 792687 2 792687 0 49009037 0 33730242 0 33730242
  • JavaScript 中的“变量 = 变量 || {}”是什么意思 [重复]

    这个问题在这里已经有答案了 变量的初始化代表什么 var variable variable 应该如何以及何时使用 该行代码执行以下操作 IF variable未定义 或具有错误值 THEN将其设置为空对象 ELSE什么都不做 从技术上讲
  • java.lang.AbstractMethodError:javax.ws.rs.core.UriBuilder.uri

    我尝试启动应用程序但使用Tomcat 7我有一个这样的例外 我认为这可能是Maven dependency 但我确定 如果有人知道发生了什么事 请回答 例外 message Servlet execution threw an except
  • C++ 按常量引用传递并按常量引用返回

    我想了解退货是否有任何好处const参考 我有一个阶乘函数 通常如下所示 unsigned long factorial unsigned long n return n 0 1 n factorial n 1 我假设当我们经过时性能会有所
  • swift/ios 在后台刷新应用程序数据

    我正在编写一个 iOS Swift 应用程序 它每 X 分钟从 REST 服务读取数据并相应地更新 UI 现在我希望当应用程序置于后台时 会以 X 分钟的间隔调用一个任务 从 REST 服务读取数据 并且如果刚刚读取的数据满足给定条件 则显
  • 我应该将实体框架视为非托管资源吗?

    我正在使用一个在其构造函数中使用 EF 引用的类 我已经实施了IDisposable 但我不确定是否需要析构函数 因为我不确定是否可以将 EF 分类为非托管资源 如果 EF 是托管资源 那么我不需要析构函数 所以我认为这是一个合适的示例 p
  • 动画过渡在横向方向上无法正常工作

    我的应用程序仅支持横向右方向 我正在尝试转换到视图控制器的视图 但是当它执行过渡动画 例如卷曲 时 视图旋转 90 度 因此 模拟器仍处于横向右方向 但视图显示为旋转 90 度 过渡完成后 它会旋转到正确的方向 我的代码如下 IBActio
  • MATLAB 中的广义特征向量?

    有没有一种方法可以在特征值多重性高的情况下使用单个或至少很少的命令来获取广义特征向量 如果每个特征值的重数为 1 我可以使用 V D eig A 但此命令不适用于多个特征值 根据 Matlab 文档 V D eig A B 生成广义特征值的
  • 为什么使用 RelayCommand 或 DelegateCommand 而不是仅仅实现 ICommand?

    我刚刚学习 WPF 中的 MVVM 我对 WPF 和 MVVM 都是全新的 我了解它是如何工作的 但从未使用过它 我在网上找到的每一篇教程 文章都使用 RelayCommand 或 DelegateCommand 在我看来 这些模式迫使虚拟
  • Fstream 无法创建新文件

    我在一个项目中使用文件管理器 这样读写对我来说就不那么麻烦了 或者说 如果我没有花这么多时间调试它的话 所以 这个舒适舱实际上给我带来了压力和时间 惊人的 问题似乎是fstream 在继续之前 先介绍一下 FileManager 类的结构
  • 检测android webview

    我有一个html javascript页面 我需要检测它何时在网络视图上打开 例如在 facebook webview twitter webview 等内部 以及如果它是一个 webview 显示另一个内容 Note 我不控制第三方 An
  • 错误:pandoc 文档转换失败,错误 43 Windows 7 R studio

    我在论坛中搜索了答案 但似乎不起作用 我正在 Rstudio 中使用 knit 包编织一个 pdf 文档 我使用的是 Windows 7 和 Rstudio pandoc exe Error producing PDF from TeX s
  • 整数除法大量用于什么?

    分析https ridiculousfish com blog posts benchmarking libdivide m1 avx512 html发现新的 Apple CPU 花费了大量资源来使整数除法速度大大加快 这是一件令人惊讶的事
  • 如何以编程方式向 UILabel 添加约束

    有没有一种方法可以快速获得标签并以编程方式对其进行约束 例如 在所有设备上 固定到顶部 或 固定到右侧 以便在所有设备上它只固定到正在使用的任何设备 这是因为我以编程方式创建了一个标签 所以我想对其进行约束 如果您需要更多信息 请告诉我 谢
  • d3 - 查看特定 x,y 位置有什么

    我正在尝试在 d3 树中实现一些拖放功能 其中当拖动节点时 如果它直接到节点左侧 50 像素 我想绘制一个虚线连接器来指示如果释放该节点应该是小时候搬到这里 为了做到这一点 我的想法是检查左侧 50 像素的元素 有没有办法查看 d3 中特定
  • 为什么无法通过新的 Azure 门户配置 Azure 诊断以使用 Azure 表存储?

    我正在开发一个将托管在 Azure 中的 Web api 我想使用 Azure 诊断将错误记录到 Azure 表存储中 在经典门户中 我可以将日志配置为转到 Azure 表存储 经典门户诊断设置 然而 在新的 Azure 门户中 我唯一的存
  • 在Windows Azure中使用Redis实现进程外缓存

    我一直在开发一个网页 该网页显示我在天蓝色云中的数据库中的表格 为了减少直接调用数据库以提高性能我想为页面构建一个缓存 目前 我拥有一个内存缓存 进程内 reads表的 现在我想创建一个进程外缓存 应该从什么时候更新writes进行 意味着
  • 使用 caret 包应用 k 折交叉验证模型

    首先我要说的是 我读过很多关于交叉验证的帖子 但似乎存在很多混乱 我的理解很简单 执行 k 倍交叉验证 即 10 倍 以了解 10 倍的平均误差 如果可以接受 则在完整的数据集上训练模型 我正在尝试使用构建决策树rpart在 R 中并利用c
  • JQuery:元素处于视图中时触发操作

    在我网站的页脚中 我使用 counUp js 链接 http inorganik github io countUp js 来计算三个数字 我在网站底部添加了这段代码