您好我有以下代码
<!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>
<style type="text/css">
.card {
border:1px solid transparent;
cursor:pointer;
float:left;
height:136px;
margin:10px;
padding:3px;
width:136px;
}
.ui-corner-all {
-moz-border-radius:4px 4px 4px 4px !important;
}
</style>
</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 class="card ui-corner-all" id="card-208">
<div class="card-name"> Rahul1's Gib 1 </div>
</div>
</body>
</html>
<script type='text/javascript'>
$(document).ready(function(){
var popup_pos=$('#card-208').offset();
var timer;
$("#card-208").mouseenter(function() {
if($("#divtoshow").length==0){
$("#card-208").append('<div id="divtoshow" style="display:block;background-color:green; border:1px solid black;width:200px;height:100px;position:absolute;">'+
'dsfdssd <a href="#">rahul</a>'+
'</div>')
}
$("#divtoshow").css('position',"absolute");
$("#divtoshow").css('top',popup_pos.top-120);
$("#divtoshow").css('left',popup_pos.left-120);
//~ $("#divtoshow").show();
});
$("#divtoshow").live('mouseleave', function() {
$(this).remove();
});
});
</script>
为什么在mouseleave上divtoshow没有隐藏它隐藏当我再次鼠标悬停它。
问候
的Rahul
答案 0 :(得分:1)
你需要进行一些修改:
.live()
#divtoshow
绑定
this
答案 1 :(得分:0)
您可以通过
删除鼠标离开事件中的divtoshow $("#divtoshow").remove();
或者在鼠标弹出popupContact div的事件上,首先检查divtoshow的存在,如果不存在,则追加它,即
。 if($("#divtoshow").length==0){
$("#popupContact").append('<div id="divtoshow" style="display:block;background-color:green; border:1px solid black;width:200px;height:100px;position:absolute;">'+
'dsfdssd <div><a href="#">rahul</a></div>'+
'</div>')
}
// css statements will come here
答案 2 :(得分:0)
我自己做了,我已经看到了其他人的解决方案,感谢他们回答。