我有不少section
標籤在一個溢出設置爲hidden
。該代碼是沿着這樣的線:jQuery動畫scrollTop
<div id="viewport">
<section>
content
</section>
<section>
content
</section>
</div>
我有它設置喜歡這樣,因爲我想要當在菜單中按相應的鏈接,以便能夠通過包含在div
內sections
滾動。我有這樣的功能:
$('#mn a').click(function(){
var aHref = $(this).attr("href");
var sectionHeight = $('section'+aHref+'').height();
$('#viewport').height(sectionHeight);
});
我使用來調整#viewport
DIV因爲sections
大小不同。當我嘗試將此滾動部分放入該功能時:
$('body,html').animate({scrollTop: $(aHref).offset().top}, 800);
它使整個頁面滾動。當我嘗試用$('section, #viewport')
替換$('body,html')
時,它會在div內滾動,但它不能正確執行。
我有這個here的活生生的例子。我認爲這與.offset()
或我進入.animate()
的東西有關,但我嘗試了很多不同的東西,但無濟於事。有人能指點我正確的方向還是告訴我我做錯了什麼?
我有`e.preventDefault()`在那裏,但我認爲這是因爲某種原因搞砸了所以我把它拿出來。不幸的是,你提出的解決方案也不起作用。 – 2011-12-13 22:44:06
你可以提醒'sectionHeight`並看看你得到了什麼? – ShankarSangoli 2011-12-13 22:45:18