下面是我的代码:

if(settings.controlNav){
                    $('.nivo-controlNav', slider).hide();
                    slider.hover(function(){
                        $('.nivo-controlNav', slider).show('slow');
                    }, function(){
                        $('.nivo-controlNav', slider).hide('slow');
                    });
                }


当我将鼠标悬停在其上多次且很快时,将鼠标移开时,这些功能将继续运行,就像我将鼠标悬停在其上一样,可能接近10-15次。

有解决办法吗?

最佳答案

尝试在显示/隐藏之前使用stop(true,true)。即

if(settings.controlNav){
    $('.nivo-controlNav', slider).hide();
    slider.hover(function(){
        $('.nivo-controlNav', slider).stop(true, true).show('slow');
    }, function(){
        $('.nivo-controlNav', slider).stop(true, true).hide('slow');
    });
}


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

10-04 16:12