嗨大家我是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>
答案 0 :(得分:0)
要停止动画的循环(如果这是你的意思),那么保留一个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;
});