Jquery,如何减少闪烁?

Jquery,如何减少闪烁?,jquery,Jquery,当您将鼠标悬停在绿色区域上时,它应该显示两个文本字段。现在我想要实现的是,当我将鼠标悬停在绿色区域或输入字段上时,它们应该是可见的,不会闪烁。此外,如果文本字段中输入了一些文本,而我将鼠标悬停在外,则在这些字段消失之前,应该有一个延迟或计时器 您知道如何使用jquery实现这一点吗?为了防止闪烁,只需使用mouseenter和mouseleave: $("#back2").mouseenter(function(){ $("form").fadeIn(100); }).mouseleave(

当您将鼠标悬停在绿色区域上时,它应该显示两个文本字段。现在我想要实现的是,当我将鼠标悬停在绿色区域或输入字段上时,它们应该是可见的,不会闪烁。此外,如果文本字段中输入了一些文本,而我将鼠标悬停在外,则在这些字段消失之前,应该有一个延迟或计时器


您知道如何使用jquery实现这一点吗?

为了防止闪烁,只需使用
mouseenter
mouseleave

$("#back2").mouseenter(function(){
  $("form").fadeIn(100);
}).mouseleave(function(){
    $("form").hide();
});
对于延迟,您可以执行以下操作:

$("#back2").mouseenter(function(){
  $("form").fadeIn(100);
}).mouseleave(function(){
    if ($('#inp1').val() != ""){
        setTimeout(function() {$("form").hide()}, 500);
    } else {
        $("form").hide();
    }
});
一个有效的例子

使用
悬停
更新以响应以下评论:

$("#back2").hover(function(){
    $("form").fadeIn(100);
}, function(){
    if ($('#inp1').val() != ""){
        $setTimeout(function() {$("form").hide()}, 500);
    } else {
        $("form").hide();
    }
});

将第一行更改为:

$("form").hide().mouseover(function(){$(this).show();}); $(“form”).hide().mouseover(函数(){$(this.show();});
当鼠标移动到表单元素的1px边上时,就会发生这种情况。但不确定如何修复:)或
。悬停(funcIn,funcOut)
作为快捷方式。工作示例:Or,它将两个处理程序作为参数。这似乎使情况变得更糟。将鼠标移到输入字段上,它就会发疯。(至少是铬合金的)。@Shawn Chin,至少我们是这么说的:)