2014-02-12 71 views
1

當我使用display:none到div和使用slidedown功能的jQuery滑動div然後它的工作,但divs分散顯示:無,而不是當我是Visibilty:none到一個div然後其他divs不分散,但JQuery不起作用。問題與可見性:隱藏在jquery slidedown()函數

#slider { 
    overflow:hidden; 
    position:relative; 
} 
.form-notice { 
    display:none; 
    float:left; 
    width:24.3%; 
} 
+0

請提供小提琴 –

+1

閱讀http://stackoverflow.com/questions/133051/what-is-the-difference-between-visibilityhidden-and-displaynone –

回答

1

立即解決可以是: 首先添加利潤率左您Slider類

.slider { 
    float: left; 
    margin-top: 0; 
    width: 47.3%; 
    margin-left: 329px; 
    } 

,並設置自動這個函數內部:

$("#request").click(function(){ 
     $(".form-notice").slideDown(); 
     $(".slider").css("margin-left","auto"); 
}); 
1

display: none;取元件出該文檔的流動的,因此它不保留在頁面上任何塊級別的定位。 visibility: hidden;只是使元素不可見,但它仍佔用頁面上的相同空間。內置的.slideDown()方法(以及.slideUp().slideToggle())使用display:none

相反,嘗試使用上的不透明度的CSS屬性的.animate()方法,也許鏈接一個.css()方法給它,給它visibility: hidden;爲舊版本瀏覽器的備份。

+0

我可以加這個方法嗎?首先我設置方法來隱藏負載並用滑動鏈() – atom

+0

'.slideUp()'將使匹配的元素具有'display:none;',以便將其從文檔流中移除。如果您不希望發生這種情況,請嘗試以下操作: $('button')。eq(0).click(function(){('p')。slideUp(); }); (1).click(function(){('p')。animate({'opacity':0});; }); [JSFiddle](http://jsfiddle.net/3zweb/) – danwarfel

0

display:nonevisibility:none之間的區別在於,display:none不填,你放在一個div的地方,但visibility:none佔據了一席之地,並slide屬性添加一個display:nonedisplay:block的元素完成後animation。所以最好使用display屬性而不是visibility

+0

但我的問題是與div。其他divs分散那是問題。 – atom

+0

因此您必須使用動畫而不是幻燈片來使用可見性。 – Arjun

+0

也可以使用podition絕對到您想要滑動的div。這並不影響另一個divs。 – Arjun