2012-02-24 9 views
1

マウスオーバーでdivを親divの下からスライドさせ、スライドが完了するとバウンスするエフェクトを作成しようとしています。バウンスポジションの問題を伴うJQueryスライドエフェクト

$("#testDiv").hover(function() { 
    $(".box").stop().slideDown("slow", function() { 
     $(".box").effect("bounce", { 
      times: 3, distance: 3 
     }, 250); 
    }); 

    }, function() { 
     $(".box").stop().slideUp(); 
}); 

私のコードのバイオリンは、これまでにここにある:

http://jsfiddle.net/7TZ3E/

時々動作しているようですが、それはさまざまな方法で台無し。表示を停止するか、親divの先頭にジャンプするか、サイズが徐々に小さくなります。

私が探している効果を生み出す助けとなりました。

答えて

5

が、これはあなたに

$("#testDiv").hover(function(e) { 
    $(".box").stop(true,true).animate({height: ['toggle', 'easeOutBounce']}, 'medium'); 
}, 
function(e) { 
    $(".box").stop(true,true).animate({height: 'toggle'}); 

});​ 

Hereを助けるかもしれませフィドルです。

+0

これは依然として、青いボックスに素早く出入りすると、黒いボックスの高さが小さくなったり小さくなったりするという問題があります。アニメーションの停止を呼び出すと、そのアニメーションが停止したブラックボックスの高さを '覚えている'ように見え、そこから引き続き問題が発生すると私は考えています。 – Umair

+0

@ Umair:そうです。 boxcontainer divでボックス位置を扱うほうが良いと思っていて、ボックスはそのコンテナ内で普通にスライドしました。 –

+0

私は、ブラックボックスが小さくなっていないと思う、それが見えるときには常に30pxです。 –

関連する問題