2

マウスオーバーでcss「左」に配置されたボタンでjQuery UIバウンス効果を使用しようとしています。動作しているように見えますが、マウスを数回前後に移動すると、位置がずれて左にくっつきます。なぜこれを行っているのか、よくわかりません。これが私のコードです: http://jsbin.com/afoyiz/1/edit

4

1 に答える 1

1

問題は、あなたのcss定義

left: 20%

オーバーライドされているようです。bounceを発行left: 0した後、 の以前の値を適切にキャッシュしなかったことが原因である可能性がありleftます。その結果、適切な値left: 0としてキャッシュされ、すべてが完了したときに要素が左に移動します。

私が提案するのは、この機能をロックすることです。これにより、エラーが防止され、ボタンのゲームも防止されます。

$(document).ready(function() {
  var lockMouseover;
  $("#button").mouseover(function(){
    if( typeof lockMouseover == "undefined" ){
     $("#button").effect( "bounce", {times:3}, 300 );
      lockMouseover = setTimeout( function(){ var un; lockMouseover = un;}, 950 );
    }
  });

});

これをあなたのjsbinでテストしたところ、うまくいきました。

于 2013-02-05T01:01:12.337 に答える