次の問題があります。私は、900px
を上からスクロールすると-300px
から0px
に移動するDIV single-help
を持っています。私はこのコードを使用しています。Divが> 900pxスクロールで表示され、フッターdivで停止する
jQuery(window).scroll(function() {
var delayms = "900"; // mseconds to stay color
if (jQuery(this).scrollTop() > 900) {
jQuery('.single-help').stop().animate({ bottom: '0px' });
} else $(".single-help").click(function (e) {
jQuery('.single-help').stop().animate({ bottom: '-300px' });
jQuery('.single-help').css('display','none').delay('delayms');
})
});
これはすべて動作します.DFTは、900px
をスクロールすると表示されます。しかし、私がページのフッタに到達したとき。それはfooter
DIVをカバーしています。今私は.single-help
DIVがフッターに達したときに停止しようとしています。
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 200) {
jQuery('.single-help').stop().animate({ bottom: '0px' });
$('.single-help').addClass('fixed_button');
}else{
$('.single-help').removeClass('fixed_button');
}
});
そして、このCSS:
.fixed_button{
position:absolute !important;
margin-top:1900px;
bottom: 270px !important;
}
これはフッターのコンテンツ上に行くからDIVを停止するために私はこのコードを使用しています。しかし、今問題。ページの一番下までスクロールして戻ると、コードjQuery('.single-help').stop().animate({ bottom: '0px' });
が繰り返されているように見えます。 DIV single-help
は300px
までジャンプし、は0px
に戻るをアニメートします。なぜ私はこのことが起こっているのか理解できません。
誰でもこの問題を解決する方法を知っているのですか、なぜこれが問題になっているのかについてもっと教えてください。そして、これはずっと簡単にできると思う...ありがとう。
私は自分のサイトのようには機能しませんが、上にスクロールするとアニメーションが2回繰り返されることを示しています。 https://jsfiddle.net/r31dnqm9/
'.stop()'を取り除いた結果はどうなりますか? –
'stop()'をすべて削除すると、2番目のアニメーションが残ります。だから変わらない...(私はそれが働いたと思ったので私のコメントを削除したが、それはしなかった)。 –
jsfiddleを作成できますか? –