这是我完整的代码,当我鼠标悬停在popupcontact div上它显示divtoshow div而它有一个名称rahul的链接当我鼠标悬停在链接上它隐藏div名称divtoshow。 我的鼠标应该隐藏当我鼠标移除时,我鼠标悬停链接。 请尽快帮助。
问候 拉胡
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<div id="popupContact" style="position:absolute;left:100px;top:100px;width:100px;height:50px;background-color:orange;border:1px solid red ;">
</div>
<div id="divtoshow" style="display:none;background-color:green; border:1px solid black;width:200px;height:100px;position:absolute;">
dsfdssd <div><a href="#">rahul</a></div>
</div>
</body>
</html>
<script type='text/javascript'>
$(document).ready(function(){
var popup_pos=$('#popupContact').offset();
var timer;
$("#popupContact").mouseover(function() {
if(timer) {
clearTimeout(timer);
timer = null
}
timer = setTimeout(function() {
console.log($("#VersionSelectField").is(':hidden'));
if(!$("#VersionSelectField").is(':hidden')){
$("#divtoshow").css('position',"absolute");
$("#divtoshow").css('top',popup_pos.top-20);
$("#divtoshow").css('left',popup_pos.left-20);
$("#divtoshow").fadeIn(300);
$("#popupContact").hide();
}
}, 100);
});
$("#divtoshow").mouseout(function() {
if(timer) {
clearTimeout(timer);
timer = null
}
timer = setTimeout(function() {
$("#divtoshow").fadeOut("slow");
$("#popupContact").show();
}, 1000);
});
});
</script>
答案 0 :(得分:1)
而不是.mouseout()
这样:
$("#divtoshow").mouseout(function() {
使用.mouseleave()
,如下所示:
$("#divtoshow").mouseleave(function() {
当输入像mouseout
这样的子元素时,将不会触发,当你不想要它时,它会隐藏。
另外一个代码提示,您至少可以在#divtoshow
选择器上链接,甚至更好地链接并将对象传递给.css()
,如下所示:
$("#divtoshow").css({ position: "absolute",
top: popup_pos.top-20,
left: popup_pos.left-20 })
.fadeIn(300);
此外,这对您的标记来说不是问题,但如果#popupContact
有一个子元素,那么mouseover
就会遇到类似的问题,那就是{000}等同于{000} }}
答案 1 :(得分:0)
使用setTimeout和clearTimeout时,请务必通过调用window.setTimeout和window.clearTimeout来使用这些函数的完整路径。
我发现,如果你不这样做,有时它会在IE的某些版本中无法正常工作。