LIVE DEMO
$("#box").hover(function(){
if ( !$(this).data("bouncing") ){
$(this).effect("bounce", { direction: 'up', distance: 10, times: 1 })
.data("bouncing", true);
}
},function () {
$(this).data("bouncing", false);
});
バウンスすると、要素のデータ属性はtrueブール値を保持し、ステートメント
内でそれがorであることを確認します。
マウスを離すと、それを false に設定して、新しいホバーと... 新しいバウンスを許可します! :)iftruefalse
上記のように書くこともできます:
$("#box").on('mouseenter mouseleave',function( e ) {
var el = $(this);
if(!el.data("b"))el.effect("bounce", {direction:'up',distance:10,times:1} );
el.data("b",e.type=="mouseenter"?true:false);
});