数値を指定値までカウントしてそこにとどめたいが、ページが一定の高さ以下でスクロールされるたびに呼び出されるため、 1に戻ります。jQuery - 特定のスクロール位置の後にスクロールイベントコールバックを停止/キャンセルする
解決策は、ページが特定の高さ以下にスクロールされたときに関数を1回だけ呼び出させることです。
アイブ氏は.one()
方法いくつかの場所を置くことを試みたが、それは
http://jsfiddle.net/d7vKd/1543/
$(document).on('scroll', function() {
if ($(this).scrollTop() >= $("#mydiv").position().top) {
window.randomize = function() {
$('.radial-progress1').attr('data-progress', Math.floor(94));
};
$('.count').each(function() {
$(this).prop('Counter', 0).animate({
Counter: $(this).text()
}, {
duration: 6000,
easing: 'swing',
step: function(now) {
$(this).text(Math.ceil(now));
}
});
});
setTimeout(window.randomize, 200);
}
})
をトリガが満たされたときに '$(document).off(" scroll ")'を考えましたか? –
私のウェブサイト上のスクロール機能に別のものがあるので、一度関数を呼び出すことに関して[my answer](https://stackoverflow.com/a/23685237/104380)を参照してください – vsync
$(document).off( "scroll")競合(ヘッダーナビゲーションの非表示/表示)。あなたは別の解決策を知っていますか – Vegapunk