javascript - 当您点击某个滚动点时的 animateNumber | jQuery

标签 javascript jquery html scroll counter

大家好,我对 jQuery 比较陌生,正在尝试在网站上创建信息图。当您到达页面上的某个滚动点时,我想让它计数到一个数字。我使用了一个插件,在页面加载时将数字从 0 动画到 14。但是,当我尝试在某个滚动点调用该函数时,它只会循环。因此我相信我需要一个解决方案来阻止它循环。我四处搜索并发现了 .one() 但这似乎只适用于事件处理程序。感谢您的帮助!

我正在使用的插件: https://github.com/aishek/jquery-animateNumber

Javascript:

$(window).scroll(function () {

var wScroll = $(this).scrollTop();

if (wScroll > $('.infographic').offset().top - ($(window).height() / 1.2)) {

        $('#years').animateNumber({ 
            number: 14 
        },1500);
});

HTML:

<h2><span id="years">0</span></h2>

最佳答案

要停止动画循环(如果这就是您的意思),请保留一个flag变量并将其设置为true,现在在动画结束后将其设置为false,并在 if 条件中检查 check

的值
var check = true;

$(window).scroll(function () {

var wScroll = $(this).scrollTop();

if (wScroll > $('.infographic').offset().top - ($(window).height() / 1.2) && check) {

        $('#years').animateNumber({ 
            number: 14 
        },1500);
        check = false;
});

关于javascript - 当您点击某个滚动点时的 animateNumber | jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454606/

相关文章:

javascript - chart js tooltip如何控制显示的数据

Jquery Multiselect onblur方法

javascript - 如何在 Javascript 中提醒 PHP echo

javascript - 如何在 Node.js 中将变量设置为 morgan 的结果(而不是将其记录在控制台上)

javascript - jQuery UI 可在 Slick-slider 内拖动

javascript - React JS 继承

html - 根据浏览器更改输入字段的宽度?

html - 获取 HTML 文本输入的值

javascript - AGGrid 与 react ,调用 this.gridApi.sizeColumnsToFit();不适合列

javascript - 如何在类型方法中使用另一个类方法和 this 上下文?