私は jQuery .animate を使用しています - クリックするとページのセクションにスクロールします。私はそれを3回持っています.1回はスクロールして一番上に戻ります(正常に動作します)、1回はセクション2にスクロールします(正常に動作します)、1回はセクション3にスクロールします.
セクション 3 (ページの一番下) までスクロールすると、定義された時間よりも早く完了するようです。そのため、最終的には一番下までスクロールしますが、まだ実行されているため、時間が経過するまで上にスクロールできません。
その実行中のサイトは new.pudle.co.uk です (実際の問題を確認するには、「連絡を取る」をクリックしてみてください)。
私が使用しているjQueryコードは次のとおりです。
// JavaScript Document
$(document).ready(function() {
$('.proj-tile').click(function() {
if($(window).scrollTop() >= 300) { //has scrolled considerably to animate
$('html, body').animate({ scrollTop: '+0' }, 1200);
}
});
$('#a-u').click(function() {
$('html, body').animate({ scrollTop: '+800' }, 1200);
});
$('#c-u').click(function() {
$('html, body').animate({ scrollTop: '+1500' }, 3000);
});
});