2011-11-10 175 views
0

我有不同的divboxes和一些下面的圖片。如果我將鼠標懸停在divbox上,它們會從200px擴大到400px,下面的圖片會滑動。JQuery事件監聽器

所以,我的功能「theRotation」我叫兩個外部函數中這樣說:

function theRotation(){ 
opendivs(); //this expand the divbox to 400 px 
rotatePicture(); //this rotate the picture 
} 

我現在的問題是,我想要的圖片滑動如果divbox大約300像素NOT之前!! (記得它從200px擴大到400px)

所以我需要一個事件監聽器誰告訴我什麼時候divbox.width()== 300px 這可能嗎?

親切的問候

回答

0

call rotatePicture();在動畫的結尾,你需要在opendivs()函數內部。

例如,如果你的代碼是

function opendivs() { 

divbox.animate({'width':'300px'}); 

} 

function rotatePicture() { 

//rotation code 

} 

變化opendivs()來

{ 

divbox.animate({'width':'300px'}, rotatePicture); 

} 

theRotation()現在必須調用僅opendivs()作爲rotatePicture()從opendivs稱爲()。

PS 在opendivs()last中調用rotatePicture()將仍然不起作用,因爲函數不會等待動畫完成。

+0

這將工作y,但我希望它在300px(它完成在400px),這是一半的動畫完成時,不是一半的方式發射rotatePicture。 – blackrafi

+0

hm,也許.resize()會爲你工作,http://api.jquery.com/resize/ – John

0

如何將其設置爲300px,調用滑動功能並調用開支爲400px。這應該是毫無意義的。

+0

可以工作,但要小心緩解。如果尺寸不能「接管它停止的位置」,它將不光滑。儘管線性動畫完全是線性的,但線性動畫通常「感覺」不那麼光滑。如果你是數學思想的話,你可以對緩和進行計算。 –

+0

姆姆,你能給我一個這樣的例子:「調用滑動功能並調用消耗到400px」嗎?問候和Thx – blackrafi