2014-04-15 23 views
0

我創建了一個jQuery代碼,它可以讓你點擊一個按鈕來顯示或隱藏div。但是,當我切換div時,容器會在打開時移動一點。我搜索了一下,到處都是說擴展的div正在失去它的高度。我如何解決它?我無法爲該div設置高度,因爲在div內部我有更多的擴展內容,比如點擊「閱讀更多」的小段落,然後顯示更多文本,因此擴展div的高度始終在變化。jquery切換使容器移動

這是我的代碼:

<script type="text/javascript"> 
    $(window).load(
     function() 
     { 
     $(".expandbutton").click(
      function() 
      { 
      $("#mainexpand").toggle("fast"); 
      } 
     ); 
     } 
    ); 
</script> 

那麼,如何避免當您單擊.expandbutton div來切換#mainexpand DIV走動的內容?

+1

能否請您提供您的HTML? –

+0

In this div there is a lot of stuf blah blah balh

in here is a lot of content

dadadey

回答

1
$(document).ready(function(){ 
    $("#mainexpand").hide(); 

$(".expandbutton").click(function() { 

    if($("#mainexpand").is(":visible")){ 
    $("#mainexpand").hide(); 
    } 
    else { 
    $("#mainexpand").show(); 
    } 

}); 
}); 
+0

謝謝,謝謝,謝謝。這完美的作品! – dadadey

0

您需要設置的知名度,而不是顯示或顯示hinding它的:

$(window).load(function(){ 
$(".expandbutton").click(function() { 
    if($("#mainexpand").css("visibility") == "visible"){ 
    $("#mainexpand").css("visibility","hidden"); 
    } else { 
    $("#mainexpand").css("visibility","visible"); 
    } 
}); 
}); 
+0

謝謝你的代碼,但是,有兩個問題:1。 )在頁面加載啓動上可見,我希望它是無形的,直到我點擊.expandbutton表現出來。 2.)當我點擊隱藏div時,它不會使主站點的高度變小......它只是簡單地隱藏了內容,在頁腳的上方留下了一個大的空間。 – dadadey