使用scrollTop導航到定位點時,我在多個瀏覽器中遇到了一個奇怪的問題。該窗口正確滾動,但以難以破解的方式鎖定。這是Safari中的問題的視頻,但同樣的事情發生在Chrome:使用jQuery,scrollTop和#anchors鎖定奇怪的瀏覽器窗口
http://www.screencast.com/t/vyM16IlVb
注意如何在瀏覽器窗口打架滾動,不管我輕輕地或過分滾動。它最終會打破,但我無法弄清楚是什麼使這成爲可能。
我正在使用jQuery函數來平滑滾動我在網上找到的錨鏈接。除了這個之外,它一般都很好。這是腳本:
$(function() {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
任何想到這可能是不勝感激。先謝謝你!
它看起來像多個滾動動畫正在積累。嘗試添加'stop()'就像這樣:'$('html,body')。stop()。animate(...' – 2014-12-04 04:10:22
剛剛嘗試過你的建議,沒有幫助,滾動動畫會如何積累? – mcleodm3 2014-12-04 04:22:50
jQuery隊列動畫,所以在開始新動畫之前停止正在進行的動畫有時會很有用我們可能需要查看更多的代碼才能瞭解這個問題 – 2014-12-04 04:47:12