当您将鼠标悬停在绿色区域上时,它应显示两个文本字段。现在我想要实现的是,当我将鼠标悬停在绿色区域或输入字段上时,它们应该在没有闪烁的情况下可见。此外,如果在文本字段中输入了一些文本,并且我将其悬停,则在字段消失之前应该有延迟或计时器....
知道如何用jquery做到这一点?
答案 0 :(得分:2)
要防止闪烁,只需使用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();
}
});
Here's一个工作示例
使用hover
更新以回复以下评论:
$("#back2").hover(function(){
$("form").fadeIn(100);
}, function(){
if ($('#inp1').val() != ""){
$setTimeout(function() {$("form").hide()}, 500);
} else {
$("form").hide();
}
});
答案 1 :(得分:1)
将您的第一行更改为:
$("form").hide().mouseover(function(){$(this).show();});