2012-02-03 11 views
3

私はサブメニューをフェードインして、同時にポジションを決めたいと思います。同時に複数のjQuery-Effectsパラレル

クールなCoda-Tooltip(http://panic.com/coda/)のように、「ダウンロード」が好きです。

私のコードだけフェードにこの時の操作を行います。

$(document).ready(function(){ 
    $('#access').hover(function() { 
     $(this).children('ul').fadeIn(); 
     $(this).children('ul')...position(); 

    }, function() { 
     $(this).children('ul').fadeOut('slow'); 
     $(this).children('ul')...position(); 
    }); 
}); 

おかげ インゴを

今、私はこれを行う:

$(document).ready(function(){ 
$('#access').hover(function() { 
    $(this).children('ul').stop().animate({opacity:1, paddingTop:'10px'}, 400); 

}, function() { 
    $(this).children('ul').stop().animate({opacity:0, paddingTop:'0px'}, 300); 
}); 

});

フェーディンとパッディングが大きく機能します。しかし、fadeOutではなく。私の間違いは何ですか?

+0

あなたの質問は何ですか? –

+0

この回答は並列アニメーションの場合http://stackoverflow.com/questions/811750/how-can-i-get-jquery-to-execute-animations-in-exact-parallel –

+0

私の答えの例を見てください..私は持っていますそれを使用していて、それを大好きでした。 –

答えて

0

animate()を使用して独自のアニメーションをロールするだけです。 stopを使用して、現在実行中のアニメーションを最初にキャンセルすることを忘れないでください。

$(this).find('ul').stop().animate({opacity:1, top:'...', left:'...'}); 
+0

ありがとうローマン。私は何かをしよう...私の編集された質問を参照してください。 – ogni

2

私は考えることができる最善のは、jQuery swichClassを利用することです。それはanimateimplicitlyを使用します。

チェックアウトこのフィドル例を:http://jsfiddle.net/xyDwV/1/

CSS:

.before{ 
    background-color : red; 
    height : 400px; 
    width :200px; 
    opacity : 1; 
} 
.after{ 
    background-color : blue; 
    height : 200px; 
    width : 400px; 
    opacity : 0.5; 
} 

jqueryの:

$(document).ready(function(){ 
    $('#mydiv').hover(function() { 
     $(this).switchClass('before','after',500); 
    }, function() { 
     $(this).switchClass('after','before',500); 
    }); 
}); 
関連する問題