2012-03-07 1 views
0

これはおそらく誰かにとっては簡単なことです。私はこのプラグインコードが要素を3回または4回(または何が指定されていようと何時でも)動揺して要素を動かしたときに発射するようにしたいですが、発射を続けるだけです。 http://jsfiddle.net/ZKVMk/7/Wiggle Pluginのためマウスセンターが発砲し続ける

私はこの小さなウィグルプラグインを使用しています: http://labs.wondergroup.com/demos/mini-ui/index.html

は、プラグインがちょうどアクティブなままのMouseEnterになりそうです。

アイデア:それは一度だけ発生させますので、

  • は何とかのMouseEnter外小刻み関数の呼び出しを移動しますか?

  • プラグインのコールバック関数を使用して、マウスセンターを停止するように指示しますか?

  • bind()またはunbind()を何らかの方法で組み込みますか?

多くの感謝!

+0

Chromeでは、あなたのフィドルが私にとって適切に動作するようですが、FFとIE8はちょっとしたことになります。 –

+0

イベントは発生していません。ウィグルプラグインの効果です。 – Starx

答えて

0

問題は要素が移動したときにそれがあることを再火災MouseEnterイベントである仕上げを可能にしながらこれは、すべてのアニメーションを停止します

$('#tata').mouseout(function() {   
    $(this).stop(); 
}); 

だけでなく、これを入力しますFirefoxとIEは、これを修正する最も簡単な方法です(もちろんIMHO).Wiggleメソッドが複数回呼び出されるのを防ぐためにリセットできる変数を入れるだけです。

$(function() { 
    var wiggled = false; 

    $('#tata').mouseover(function() { 
     if(!wiggled) { 
      $(this).wiggle({ 
       speed: 60, 
       wiggles: 3, 
       travel: 5, 
      }); 
      //output 
      var el = $('#output'); 
      var n = + el.text(); 
      el.text(++n); 

      wiggled = true; 
     } 
    }).mouseout(function(e) {   
     wiggled = false; 
    }); 
}); 

更新:私は、私が唯一異なる挙動を示すことがFF、IEとChromeでこれをテストすることができたことを追加する必要がありますが、私は彼らには期待していません。

+0

これは美しいものです。よく働く。サファリでもテストされています。少しの論理は長い道のりです。ここに最終的なフィドルがありますhttp://jsfiddle.net/ZKVMk/17/ – lyndonr

0

試みは、現在アニメーションが

関連する問題