1

私はホバー画像でこれを使用しています:

$('.img-style').hover (function(e) {
    var prixPlus = $(this).closest('a').attr('data-prix'); 
    prixPlus = parseFloat(prixPlus);
    var prixNew = prix + prixPlus;

    $('#chgePrix').html(prixNew.toFixed(2));
    $('#txtapart').fadeTo('fast', 0.1);
}, function(e) {
    $('#chgePrix').html(prix.toFixed(2));
    $('#txtapart').fadeTo('fast', 1);
});

しかし、マウスを画像上で 2 回以上すばやく通過させると、$('#txtapart') が 2 回以上フェードインおよびフェードアウトします。フェードの伝播を止めるにはどうすればよいですか?

ご協力いただきありがとうございます...

4

2 に答える 2

2

使用stop()方法

 $('#txtapart').stop(true,true).fadeTo('fast', 0.1);

これにより、前のアニメーションが強制的に終了します。2つのtrue引数はキューをクリアし、アニメーションをそのエンドポイントに設定して、他のイベントがトリガーされたときに新しいアニメーションをすぐに開始できるようにします。

http://api.jquery.com/stop/

于 2012-06-19T15:15:42.267 に答える
0

この関数は、マウスオーバーのたびに呼び出されます。関数がすでにJavascriptで実行されているかどうかを検出する良い方法はありません。

于 2012-06-19T15:13:00.553 に答える