【发布时间】:2017-10-02 01:13:15
【问题描述】:
我希望 div a 和 div b 在鼠标悬停时切换位置 div b 然后在鼠标离开时切换回来 div a。但它超级小故障,即使鼠标没有离开div a也会切换。当鼠标仍在div a 中时,我如何使其不运行navMouseOut,以及为什么要这样做。 (请测试代码看看有什么问题)
document.getElementById("b").onmouseover = function() {
navMouseOver()
};
document.getElementById("a").onmouseout = function() {
navMouseOut()
};
function navMouseOver() {
document.getElementById("a").style = ("top: 50%;");
document.getElementById("b").style = ("top: 40%; ");
}
function navMouseOut() {
document.getElementById("a").style = ("top: 40%;");
document.getElementById("b").style = ("top: 50%;");
}
#a {
position: fixed;
top: 40%;
left: 20%;
background-color: red;
}
#b {
position: fixed;
top: 50%;
left: 20%;
background-color: lightblue;
}
<div id="a">
<p>content a</p>
</div>
<div id="b">
<p>content b...</p>
</div>
【问题讨论】:
-
顺便说一句,您不需要匿名函数来包装对其他函数的调用,只需说
document.getElementById("b").onmouseover = navMouseOver;。
标签: javascript onmouseover onmouseout