わかりましたので、複数のアニメーションを発生させようとしています。onmouseenter には、finish(); を使用するバウンス効果があります。マウスアウトとオンクリックの移動位置の問題は、クリックしてからマウスをdivから移動すると、クリックアニメーションが終了します。変数、.data、その他のさまざまな方法を使用してみましたが、惨めに失敗し、簡単な方法を探しています解決。
これがjsfiddleです:http://jsfiddle.net/FR5Lu/
ここにコードがあります
$.fx.speeds._default = 1000;
$.fn.StartBounce = function() {
var self = this;
(function runEffect() {
self.effect('bounce', {distance:20}, 5000, runEffect);
}) ();
return this;
};
$('.iconeffect').mouseenter(function() {
if (!$(this).is(":animated") ) {
$(this).stop().StartBounce();
}
});
$('.iconeffect').mouseout(function() {
$(this).finish();
})
$('#effect1').click(function() {
if( $("#desc1").is(":hidden") ) {
bounced = false;
$(this).finish();
$(this).stop(true, true).animate({ left: -50});
$('#effect2, #effect3').stop(true, true).animate({ left: 1000});
$('#desc1').show( "blind", 1000);
} else {
$(this).finish();
$(this).stop(true, true).animate({ left: 0});
$('#effect2, #effect3').stop(true, true).animate({ left: 0});
$('#desc1').hide( "blind", 1000);
}
});