我似乎無法滾動到設置變量,我使用正確的語法?scrollTop不滾動到位置
var offset = $(".box", this).offset().top;
$(window).animate({scrollTop:offset}, 500);
我似乎無法滾動到設置變量,我使用正確的語法?scrollTop不滾動到位置
var offset = $(".box", this).offset().top;
$(window).animate({scrollTop:offset}, 500);
您不能滾動。你不能動畫滾動窗口(感謝加藤)。試試這個:window
var offset = $(".box", this).offset().top;
$("html,body").animate({scrollTop:offset}, 500);
以下內容適用於IE瀏覽器和其他瀏覽器。
$('body,html').animate({scrollTop: offset}, 500);
offset()。top是相對於文檔的距離。所以如果文檔已經全部滾動,動畫就不準確了。 ({body})。animate({scrollTop:offset + $(「body」)。scrollTop()},500);
不,jQuery offset()是相對於文件,無論滾動位置如何。 – 2012-02-14 16:06:39
就你而言,這是一回事。偏移+ scrolltop ===位置。但位置更清潔:-) – terjeto 2012-02-15 09:32:33
我最終不得不使用位置(),而不是偏移
var offset = item.position().top;
$("html, body").animate({scrollTop:offset}, 500);
並通過評論閱讀,建議的文檔最好是使用$(「HTML,身體」)爲跨瀏覽器
$(window).scrollTop()[works fine](http://jsfiddle.net/katowulf/w43T6/)。你的意思是說你不能動畫滾動窗口嗎? – Kato 2012-02-14 16:24:09
@Kato:我糾正了。是的,我的意思是說你不能動畫滾動窗口。固定。 ;) – 2012-02-14 16:59:57
很高興知道,因爲我從來沒有嘗試過動畫方法。我喜歡html,body解決方案(它在真正的瀏覽器中是否有兩次動畫效果?是否值得做一些瀏覽器嗅探以避免雙重調用?) – Kato 2012-02-14 17:22:32