gpt4 book ai didi

javascript - 当用户滚动并到达 div 时使数字动画

转载 作者:行者123 更新时间:2023-12-01 02:20:07 25 4
gpt4 key购买 nike

我有一个简单的 jQuery 代码,可以完美运行(我想保留)。问题是该动画位于页面下方的部分,并且在页面加载时开始运行。我需要这个动画(数字从 0 开始,一直运行到我在 div 中放入的数字)仅在用户滚动并到达该 div 时才会发生。我在 google 和 StackOverflow 上进行了搜索,但我发现的解决方案不起作用或需要插件(我不想使用)。

这是我目前拥有的演示代码: https://jsfiddle.net/aj7Lk2bw/2/

jQuery 是:

    $('.value').each(function () {
$(this).prop('Counter',0).animate({
Counter: $(this).text()
}, {
duration: 4000,
easing: 'swing',
step: function (now) {
$(this).text(Math.ceil(now));
}
});
});

最佳答案

看看这是否是您想要的:https://jsfiddle.net/aj7Lk2bw/19/

$(window).scroll(testScroll);
var viewed = false;

function isScrolledIntoView(elem) {
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();

var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();

return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}

function testScroll() {
if (isScrolledIntoView($(".numbers")) && !viewed) {
viewed = true;
$('.value').each(function () {
$(this).prop('Counter',0).animate({
Counter: $(this).text()
}, {
duration: 4000,
easing: 'swing',
step: function (now) {
$(this).text(Math.ceil(now));
}
});
});
}
}

在这里找到了方法:Run script when div is visible in browser window

关于javascript - 当用户滚动并到达 div 时使数字动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49260085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com