2011-06-16 33 views
3

我有一個動態顯示或隱藏的div。當div第一次顯示時,我想要執行一些函數。讓我知道如何做到這一點。任何方法像onshow()爲div

<div id="firstDiv"></div> 
<div id="secondDiv"></div> 

所以當$('#secondDiv").show(); 我想執行的一些功能。

我該怎麼做?

+0

看到這個答案http://stackoverflow.com/questions/1432111/how-to-write-onshow-event-using-javascript-jquery/6244083#6244083 – 2011-06-16 14:12:01

回答

8

您可以到show功能,這將完成後的show執行提供一個回調函數:

$("#secondDiv").show(function() { 
    //Do something 
}); 

正如評論所說,這將表現爲一個動畫。如果您想show的行爲與正常行爲相同(即該元素即時顯示且不顯示動畫),則需要爲show函數提供持續時間參數0。差異在this fiddle中得到證明。

+1

值得一提的是'$(「#secondDiv」)。 show([callback])'本質上是調用等價於$(「#secondDiv」)的動畫效果。show(400,[callback])'其中'400'是動畫的默認持續時間(以毫秒爲單位)。除非你想保持一個動畫效果,否則''('#secondDiv「)。show(0,[callback])''可以考慮'0'。 – MikeM 2011-06-16 14:26:04

+0

是的,非常好的一點。我已經更新了答案並提供了一個鏈接來證明差異。 – 2011-06-16 14:37:13

+0

順便說一句如何添加動畫?我也有Jquery UI插件。 – user695663 2011-06-17 13:46:04

相關問題