2011-11-10 9 views
0

divboxとその下にいくつかの写真があります。私がdivboxをホバリングすると、200pxから400pxに拡大し、下の画像はスライドします。JQueryイベントリスナー

だから私は、関数「theRotationを」と私はこのようにそれに2つの外部関数を呼び出す:

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

今私の問題は、divbox約300ピクセルされていない場合、私は写真をスライドにしたいということであり、前!!

divbox.width()== 300pxのときに通知するイベントリスナーが必要です これは可能ですか?

親切にお礼申し上げます。

答えて

0

call rotatePicture();アニメーションの最後で、あなたはopendivs()関数の中で欲しいです。例えば

あなたのコードが

{ 

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

} 

theRotationへ

function opendivs() { 

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

} 

function rotatePicture() { 

//rotation code 

} 

変更opendivs()である場合には()今rotatePictureとしてのみopendivs()()opendivsから呼び出される()を呼び出す必要があります。

PS opendivs()内のlastPicture()の呼び出しは、アニメーションが終了するまで関数が待機しないため、動作しません。

+0

yは動作しますが、アニメーションが終了したときには半分の方法ではなく、300px(それは400pxで終了)でrotatePictureを起動します。 – blackrafi

+0

hm、おそらく.resize()がうまくいくでしょう。http://api.jquery.com/resize/ – John

0

300pxに設定するには、スライド機能を呼び出して400pxへの支出を呼び出します。これは無意識のうちに起こるはずです。

+0

動作しますが、イージングに気をつけてください。サイジングが「中断したところから引き継がれない」場合は、滑らかではありません。線形アニメーションは、完全に線形であるにもかかわらず、しばしば「滑らかさが減ります」。あなたが数学に慣れていれば、イージングの計算をすることができます。 –

+0

Mhm、「スライド機能を呼び出して400pxへの支出を呼び出す」という例を教えていただけますか?よろしく – blackrafi