Javascript 如何在每次滚动页面时阻止Jquery countTo刷新
我正在尝试使用Jquery countTo插件和一些附加脚本,这些脚本在我的视口到达网页上的某个点时运行。除了动画淡入并完成后,当我滚动页面时,Javascript 如何在每次滚动页面时阻止Jquery countTo刷新,javascript,jquery,html,css,scrolltop,Javascript,Jquery,Html,Css,Scrolltop,我正在尝试使用Jquery countTo插件和一些附加脚本,这些脚本在我的视口到达网页上的某个点时运行。除了动画淡入并完成后,当我滚动页面时,countTo动画会持续运行之外,一切都很顺利 这是密码 /* Every time the window is scrolled ... */ $(window).scroll( function(){ /* Check the location of each desired element */ $('.hideme').each
countTo
动画会持续运行之外,一切都很顺利
这是密码
/* Every time the window is scrolled ... */
$(window).scroll( function(){
/* Check the location of each desired element */
$('.hideme').each( function(i){
var bottom_of_object = $(this).position().top + $(this).outerHeight();
var bottom_of_window = $(window).scrollTop() + $(window).height();
/* If the object is completely visible in the window, fade it it */
if( bottom_of_window > bottom_of_object ){
$(this).animate({'opacity':'1'},1000);
jQuery(function($) {
$('.timer').countTo({
from: 1500,
to: 3928,
speed: 3000,
refreshInterval: 50,
onComplete: function(value) {
console.debug(this);
}
});
});
}
});
});
有什么建议吗
$('.timer3').countTo({
from: 10,
to: 784,
speed: 3000,
refreshInterval: 50,
onComplete: function(value) {
console.debug(this);
}
}, {triggerOnce: true});
triggerOnce:是的,只允许执行一次。我将把它放在这里,以防有人发现它仍然有用 这是针对jquery countTo的 我们需要计算位置以检查元素“myelement”是否显示,并对其进行处理 在本例中,我们计算position以查看是否已经到达元素,然后调用该方法并通过将“eventFired”设置为true来标记它 Html: 当访问元素“myelement”时,这将仅成功执行一次计数器
<div id="myelement">
<span class="timer" data-from="0" data-to="75"
data-speed="500" data-refresh-interval="1">
</span>
</div>
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();
}
});