【问题标题】:How to set the stop time on hover?如何设置悬停时的停止时间?
【发布时间】:2013-09-18 12:29:41
【问题描述】:

这是我要更改的代码:

$("#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/


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


谢谢。

【问题讨论】:

  • “停止时间”是什么意思?您的意思是您不希望动画在鼠标悬停在元素上至少 x 秒后开始?
  • “设置停止时间”是什么意思? stop() 用于暂停队列中的当前动画。

标签: jquery time


【解决方案1】:

不清楚你所说的“停止时间”是什么意思,但我猜你的意思是你不希望动画在鼠标悬停在元素上至少一段时间后开始,说500毫秒。如果是这样,那么您可以使用.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/

【讨论】:

  • 哇!这正是我所需要的。还是有好人的。 :) 非常感谢你。这个想法是当我快速将鼠标悬停在它上面时它不应该响应。
猜你喜欢
  • 1970-01-01
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 2017-06-22
  • 2016-06-20
  • 2021-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多