2013-06-03 24 views
1

我有以下的jQuery:jquery的顯示內聯塊然後褪色

$('#register_email_address').siblings('.error').css('display','inline-block'); 

我想以上到淡出這麼多秒後。

我曾嘗試以下:

$('#register_email_address').siblings('.error').css('display','inline-block').fadeOut(3000); 

但這似乎沒有工作?

任何想法?

乾杯, 丹

上述代碼如果表單驗證。上面的任何輸入字段的onBlur被啓動,顯示類.error。然後顯示。然後顯示並保持顯示。

.error類包含另一類.showerror。這是我實際上喜歡在這麼長時間後淡出的課程。

+0

您將需要使用的setTimeout()這一點。 –

+1

你能爲此發佈一個jsfiddle嗎? – beerwin

+0

HTML可能是有用的 – JNF

回答

2

的原因,您的當前的代碼不工作是,你正在使用的3000的值被應用到淡出(即:淡出動畫正在3000毫秒)。

這裏有幾個選項,但我個人會使用jQuery的.delay(),這是專門用於導致暫停處理鏈。從理論上講,把它放入你的鏈條中應該完全符合你的要求。

例如,這將導致設置CSS和褪色元素退了出來之間的3000停頓:

$('#register_email_address').siblings('.error').css('display','inline-block').delay(3000).fadeOut(); 
+0

我已經嘗試了上述,它似乎並沒有工作?我也試過setTimeout,這也不起作用 – danyo

+1

@danyo在這種情況下,我懷疑你有其他問題。最好的辦法是用更多的細節來更新這個問題:如果可以的話,預覽鏈接或者我們可以看到的代碼摘錄。它可能是你有另一個問題影響這個(如潛在的驗證問題,例如,或jQuery不加載等)。 – johnkavanagh

+0

jQuery如果作爲其他元素工作正常。我現在會更新細節。 – danyo

2

嘗試:

$('#register_email_address').siblings('.error').css('display','inline-block').delay(3000).fadeOut();