1、項目中遇到的需求:鼠標進入某個元素,有個小簡介,所以在鼠標停留位置需要顯示一個彈出框。我綁定的是mouseenter 和 mouseleave事件,鼠標進入元素顯示彈出框,離開元素隱藏彈出框。但是鼠標進入元素,在元素里面滑動的時候,彈出框會不停的閃現(xiàn),特別是鼠標從元素左上角往右下角方向滑動時,彈出框閃現(xiàn)的更厲害。
2、自己上網搜的時候,很多都是說mouseenter和mouseover、mouseleave和mouseout的區(qū)別,我懂它們之間的區(qū)別,我覺得此bug應該與這個無關吧?
3、上代碼,求大神給與解答疑惑,謝謝了~~~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>懸停彈出框</title>
<style>
#contain{position: relative;}
#d1,#d2{
width:50px;
height:50px;
background:pink;
position:absolute;
text-align:center;
line-height:50px;
top:200px;
left:400px;
}
#d2{background:lightblue;left:700px;}
#popupBox{
width:200px;
height:200px;
border:1px solid #000;
background:#ddd;
position:absolute;
display:none;
}
</style>
</head>
<body>
<div id="contain">
<div id="d1">1</div>
<div id="d2">2</div>
</div>
<!-- 彈出框 -->
<div id="popupBox"></div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
//獲取鼠標位置
function mouseCoords(e){
e= e || window.event;
if(e.pageX || e.pageY){
return {x:e.pageX, y:e.pageY};
} else{
return {
x:e.clientX + document.body.scrollLeft - document.body.clientLeft,
y:e.clientY + document.body.scrollTop - document.body.clientTop
}
}
}
// 綁定事件
$("#contain").on("mouseenter","div",function(e){
$("#popupBox").show();
var mousePos = mouseCoords(e);
$("#popupBox").css({
"top":mousePos.y,
"left":mousePos.x
})
}).on("mouseleave","div",function(){
$("#popupBox").hide();
});
</script>
</body>
</html>
var ismouseenter = false // 初態(tài)未移入鼠標
$("#contain").on("mouseenter","div",function(e){
if(ismouseenter == true){ //已經移入直接返回
return;
} else {
$("#popupBox").show();
var mousePos = mouseCoords(e);
$("#popupBox").css({
"top":mousePos.y,
"left":mousePos.x
})
ismouserenter = true; // 狀態(tài)設為移入
}
}).on("mouseleave","div",function(){
if(ismouseenter == false){
return;
} else {
$("#popupBox").hide();
ismouserenter = false;
}
});
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經理從事移動互聯(lián)網管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經理職務負責iOS教學及管理工作。
浪潮集團項目經理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網頁制作和網頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經驗。曾經歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。