特定の要素にスクロールするときにアニメーションを実行したい。これはうまくいきます。 しかし、主な問題は、アニメーションが繰り返し実行されることです。アニメーションを1回だけ実行したい。ページ特定の要素にスクロールするイベント
ここは参考用に使用しているコードです。
HTML
<div>Scroll Down</div>
<h1 id="scroll-to">I am The H1</h1>
JS
$(window).scroll(function() {
var hT = $('#scroll-to').offset().top,
hH = $('#scroll-to').outerHeight(),
wH = $(window).height(),
wS = $(this).scrollTop();
console.log((hT-wH) , wS);
if (wS > (hT+hH-wH)){
alert('you have scrolled to the h1!');
}
});
CSS
div {
height:800px;
background:red;
}
http://jsfiddle.net/n4pdx/
ページを更新せずにフラグの値を変更するにはどうすればよいですか? 再度上下にスクロールすればいいですか?もう一度スクロールするとアニメーションをもう一度実行したいので、 –
あなたは、スクロールアップしたときにアニメーションしたいのですか? –