-1

这是我要更改的代码:

$("#header_nav").mouseenter(function(){
            $('#header_nav').stop().animate({
                height:'50px'
            },600); 
});


$("#header_nav").mouseleave(function(){
            $('#header_nav').stop().animate({
                height:'100px'
            },600);
});

http://jsfiddle.net/JJ8Jc/318/


问题:如何设置停止时间(鼠标悬停在该区域没有响应的时间)?


谢谢你。

4

1 回答 1

1

目前尚不清楚“停止时间”是什么意思,但我猜你的意思是你不希望动画在鼠标悬停在元素上至少一段时间后开始,比如 500 毫秒。如果是这样,那么您可以使用该.delay()方法,并使用参数调用.stop()true清除队列中的任何动画:

$("#header_nav").mouseenter(function(){
        $(this).stop(true).delay(500).animate({
            height:'50px'
        },600); 
}).mouseleave(function(){
        $(this).stop(true).animate({
            height:'100px'
        },600);
});

演示的更新版本:http: //jsfiddle.net/JJ8Jc/321/

于 2013-09-18T12:36:37.313 回答