2012-03-05 79 views
2

我有一個div隱藏,當一個鏈接被點擊時,它切換內容滑出。不幸的是,當它顯示在頁面的最底部時,我無法將它向下滾動到div的頂部。我已經完成了這與常規的JavaScript,但我希望它用JQuery來完成。Jquery的scrollTop不與滑動切換和隱藏div

Jquery的:

// Toggle Terms 
$('.toggleTerms').click(function(){ 
$('#displayTerms').slideToggle("slow", function(){ 
    if($('#displayTerms').is(":visible")){ 
     $('#displayTerms').animate({ 
      scrollTop: $('#displayTerms').position().top 
     }, "slow" 
    )} 
}); 

});

鏈接:

<a href="javascript:void(0);" class="toggleTerms">Terms</a> 

內容:

<div id="displayTerms" style="display:none; overflow:hidden;">The Terms</div> 

順便說一句,它打開和關閉就好了。以上是我迄今爲止所擁有的。

+0

如果您想滾動*頁面*,請嘗試使用'$(document).animate'。 – bfavaretto 2012-03-05 21:46:25

+0

我曾經這樣做,它也不起作用。 – 2012-03-05 21:49:33

回答

0

感謝尼克·西蒙尼爲讓我更接近。答案是;

// Toggle Terms 
$('.toggleTerms').click(function(){ 
$('#displayTerms').slideToggle("slow", function(){ 
    if($('#displayTerms').is(":visible")){ 
     $("html, body").animate({scrollTop: $('#displayTerms').offset().top}); 
    } 
}); 
}); 
0

在此請看:

http://fiddle.jshell.net/GDtHJ/

在這裏,我動畫人體的滾動位置,而不是#displayTerms的 - 因爲我們希望體位置移動到到#displayTerms的頂部。

希望這會有所幫助。

哦,你可能需要調整您的瀏覽器,以確保它在的jsfiddle底部右側窗格中滾動窗口 - 否則,你不會看到它滾動:P

+0

感謝您嘗試解決此問題,但不會跳到您的目標。窗口只展開,但不是「scrollTo」div。 – 2012-03-05 22:11:32

+0

我最後一個在FF和Chrome中爲我工作,但沒有IE。編輯它,它現在可以在所有3. – ShortRound1911 2012-03-05 22:25:46

+0

在FF的IE瀏覽器不適用於我。但它在Chrome中有效! – 2012-03-05 22:29:07