1
$('#slider').hover(function()
{
    $('#LayerHover').fadeTo(400, 0.4);
}, function()
{
    $('#LayerHover').fadeOut(400);
});

これは、コードが機能することを期待するのと同じように機能しますが、コードにカーソルを合わせたり、高速で出入りしたりすると、以前のフェードイン/フェードアウト呼び出しがまだ終了しているため、フェードがバグになります。「古い通話」をキャンセルするにはどうすればよいですか?

4

1 に答える 1

3

キューに入れられたアニメーションは.stop()でキャンセルできます。例えば:

$('#slider').hover(function(){
    $('#LayerHover').stop(true,true).fadeTo(400, 0.4);
}, function(){
    $('#LayerHover').stop(true,true).fadeOut(400);
});

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

于 2012-10-24T01:43:30.853 に答える