Javascript 动画仅在到达网页的特定部分时触发

标签 javascript html css animation

我想要一个只有当网页到达特定部分时才会触发的计数器动画。例如,js 文件将是这样的。我希望仅当页面到达特定部分时才开始计数。

    const counters = document.querySelectorAll('.counter');
    const speed = 200; // The lower the slower

    counters.forEach(counter => {
    const updateCount = () => {
        const target = +counter.getAttribute('data-target');
        const count = +counter.innerText;

        // Lower inc to slow and higher to slow
        const inc = target / speed;

        // console.log(inc);
        // console.log(count);

        // Check if target is reached
        if (count < target) {
            // Add inc to count and output in counter
            counter.innerText = count + inc;
            // Call function every ms
            setTimeout(updateCount, 1);
        } else {
            counter.innerText = target;
        }
    };

    updateCount();
});

最佳答案

你可以使用 Jquery 轻松地做到这一点

$(document).ready(function() {
  $(window).scroll(function() {
    if ($(document).scrollTop() > 50) {
      $("div").css("background-color", "#111111");
    } else {
      $("div").css("background-color", "transparent");
    }
  });
});
div {
  height: 120vh;
  transition-duration: 0.5s;
}
<div>
  Scroll to Change Background
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>

关于Javascript 动画仅在到达网页的特定部分时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62531164/

相关文章:

Javascript 正则表达式带回所有符号匹配?

javascript - 使用javascript仅更改类的所有img src中的一个字符

html - 将图像直接放在彼此下方 (DIV/CSS)

CSS3 侧边菜单,在屏幕上移动?

html - 可以修复网站顶部的多个标题文本吗?

javascript:窗口对象未定义

javascript - 使用页面对象支持的 Protractor 测试多个浏览器

javascript - 如何在php中获取并打印页面内的图像

javascript - 显示 xml 数据的链接

javascript - 如何防止表单提交后页面跳转?