2011-06-22 28 views
10

我有一個div,我做了一個$('#div').css('display', 'none');jQuery的淡入()上顯示無

現在,把這個項目後,我想淡出它,但它似乎像$('#div').fadeIn()沒有這樣做,而是我不想將顯示設置回阻止,就好像我這樣做只是立即重新顯示而不是褪色..任何想法?

+1

我們可以看到您正在使用的標記和代碼嗎? – kinakuta

+0

pelase給我們一段代碼 – genesis

+0

'.hide()'是否真的使它工作? –

回答

21

嘗試

$('#div').hide(); 

隱藏的元素。

更新:我建議這是因爲我在Firefox中設置.css('display', 'none')body時出現問題。但它應該適用於其他元素。

但是,如果它不適用hide()那麼你肯定有另一個問題,你必須發佈更多的代碼或提供演示。

在哪個瀏覽器中失敗?你確定$('#div').fadeIn()被執行了嗎?

+1

這不是正確的答案,這裏是爲什麼:除非先用hide()隱藏對象,否則不能啓動隱藏的對象。我相信這對於需要開始通過CSS隱藏對象的人來說是一個實際的錯誤,然後在以後將其呈現給用戶 – somid3

+0

嘿..剛剛遇到了[另一個問題]的鏈接(http:///stackoverflow.com/questions/22978913/jquery-fadein-method-isnt-working)....和OPs似乎同意這作爲一個解決方案...你有關於這種行爲的任何進一步的信息...調用'hide()'將'display'設置爲'none'不是 –

3

嘗試的

$('#div').hide(); 

代替

display:none; 
4

4年爲時已晚,但即時通訊希望這將至少幫助別人。

您需要先使用jquery將該CSS類更改爲visibility:hidden,然後應用淡入功能。您可以將這些鏈接在同一個函數中,也可以單獨運行它們。無論哪種方式,你應該看到該元素如預期般褪色成爲存在。

1

只需添加速度選項;

$('#div').fadeIn(1000); 

它的工作對我來說...

0

我不得不引起CSS設置爲元素及其:hover狀態類似的問題。

-webkit-transition: all 0.3s linear; 
-moz-transition: all 0.3s ease; 
-ms-transition: all 0.3s ease; 
-o-transition: all 0.3s ease; 
transition: all 0.3s ease; 

我刪除了上面這些行,最後jquery的fadeIn()完美無缺地工作。

還要確保你不使用display:none !important;

是的,你只需要設置CSS display:none;然後用fadeIn()