【发布时间】:2018-12-17 01:52:42
【问题描述】:
我正在学习 JavaScript 和 jQuery,在进行以下练习时遇到了问题。 我在页面右侧有一个 div,其中包含另一个较小的 div,其中包含一个带有一些 imgs 的无序列表,我只想在鼠标指针进入第一个 div 时出现。
问题是当鼠标指针进入第一个div时,较小的那个开始不受控制地上下移动。
我尝试在更大的 div 上使用 .is(:hover) 方法,正如另一个关于 SO 的问题所建议的那样,但它没有帮助。
这是我的代码:
stato = "out";
$("#control").mouseover(
function() {
if (stato == "out")
$("#socialBox").animate({
top: 300
});
//$("#socialBox").show();
stato = "in";
}
);
$("#control").mouseleave(
function() {
$("#socialBox").animate({
top: -500
});
//$("#socialBox").hide();
stato = "out";
}
);
body {
background: lightblue;
}
img {
height: 50px;
width: 50px;
}
ul {
list-style-type: none;
}
#control {
position: fixed;
right: 0px;
top: 0px;
height: 100%;
width: 100px;
background: yellow;
}
#socialBox {
position: fixed;
top: -500px;
right: 0px;
width: 75px;
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="control"></div>
<div id="socialBox">
<ul>
<li><img id="cane" src="img/cane.jpg" /></li>
<li><img id="gatto" src="img/gatto.jpg" /></li>
<li><img id="koala" src="img/koala.jpg" /></li>
<li><img id="mucca" src="img/mucca.jpg" /></li>
<li><img id="panda" src="img/panda.jpg" /></li>
<li id="nascondi"> X </li>
</ul>
</div>
我也尝试过使用其他鼠标事件,例如 mouseenter 和 mouseout,但我遇到了同样的问题。
提前致谢。
【问题讨论】:
-
@Alex 感谢您的编辑:您能告诉我您对我的代码应用了哪些更改吗?我什么都看不到.. :-S 谢谢。
标签: javascript jquery jquery-animate mouseover mouseleave