以下是我想要更改的代码:
$("#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/
问题:如何设置停止时间(如果将鼠标悬停在该区域时没有响应的时间)?
谢谢。
答案 0 :(得分:1)
目前还不清楚“停止时间”是什么意思,但我猜你的意思是你不希望动画开始直到鼠标悬停在元素上至少一段时间后,说500ms。如果是,那么您可以使用.delay()
method,并使用true
参数调用.stop()
来清除队列中的所有动画:
$("#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/