如何停止Jquery countTo从刷新每次页面滚动

时间:2014-02-08 20:34:47

标签: javascript jquery html css scrolltop

我正在尝试使用Jquery countTo插件以及当我的视口到达网页上的某个点时运行的一些额外脚本。一切顺利,除了{I-}}动画在我滚动页面时连续运行的事实,即使动画已经淡入并完成。

这是代码。

countTo

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

$('.timer3').countTo({
    from: 10,
    to: 784,
    speed: 3000,
    refreshInterval: 50,
    onComplete: function(value) {
        console.debug(this);
    }
}, {triggerOnce: true});

triggerOnce:true,允许它只执行一次。

答案 1 :(得分:0)

我会把它放在这里以防万一有人仍觉得它有用 这是针对jquery-countTo https://github.com/mhuggins/jquery-countTo

我们需要计算位置以检查元素“myelement”是否显示,并对其做些什么。

在这种情况下,我们计算位置以查看我们是否已经到达元素,然后调用方法并通过将“eventFired”设置为true来标记它;

HTML:

<div id="myelement">
    <span class="timer" data-from="0" data-to="75" 
         data-speed="500" data-refresh-interval="1">
    </span>
</div>

Jquery的:

var eventFired = false,
objectPositionTop = $('#myelement').offset().top;
$(window).on('scroll', function() {
var currentPosition = $(document).scrollTop()+100;

if (currentPosition >= objectPositionTop && eventFired === false) {
    eventFired = true;
    $('.timer').countTo();
  }
});

当访问元素“myelement”时,这将成功执行一次计数器。