【问题标题】:how to give time delay for mouseover如何给鼠标悬停时间延迟
【发布时间】:2011-05-09 00:14:18
【问题描述】:

我有以下代码

$(document).ready(function(){

    //When mouse rolls over
    $("#nav #nav_li").mouseover(function(){
        $(this).stop().animate({height:'140px', width:'182px'},{queue:false, duration:600})
    });

    //When mouse is removed
    $("#nav #nav_li").mouseout(function(){
        $(this).stop().animate({height:'11px', width:'146px'},{queue:false, duration:900})
    });


});

当我将鼠标悬停在其突然的动画作品上时

当我将鼠标悬停在#nav_li 上时,它会在几秒钟后动画

谢谢大家

【问题讨论】:

  • 您是否多次使用过nav_li ID?
  • 对不起,我真的听不懂你在说什么。
  • @Nick Craver:是的,我用过
  • ID 必须是唯一的,你不能让它在你的页面中出现多次,因为那些使用 class="mav_li" 代替。

标签: jquery jquery-animate mouseover


【解决方案1】:

AFAIK,有 jQuery plugin HoverIntent 来处理这个问题。

overIntent 是一个尝试 确定用户的意图……比如 一个水晶球,只有鼠标 移动!它的工作原理就像(并且是 源自)jQuery 的内置悬停。 然而,而不是立即 调用 onMouseOver 函数,它 等到用户的鼠标变慢 在拨打电话之前足够低。

为什么?延迟或阻止 意外触发动画或 ajax 调用。简单的超时适用于 小区域,但如果您的目标区域 很大,它可以执行而不管 意图。

【讨论】:

    猜你喜欢
    • 2016-12-20
    • 2021-08-17
    • 2018-12-19
    • 2012-12-06
    • 2012-01-01
    • 1970-01-01
    • 2010-12-03
    • 2012-03-12
    • 1970-01-01
    相关资源
    最近更新 更多