【发布时间】:2021-12-20 21:33:42
【问题描述】:
我想在同一个 div 上有一个幻灯片(例如,你可以在这里看到的 2 个框:https://braintogain.fr/)
我试过这段代码,但我有一个问题...当鼠标移得太快时,第二个事件被跳过...并且黄色框保持...
我希望它在鼠标悬停(或 mouseenter)时出现,而在 mouseout(或 mouselave)时隐藏。
这是我的代码:https://jsfiddle.net/976mLshn/1
谢谢:)
.item_menu {
width: 200px;
height: 100px;
background: red;
}
.titre {
width: 200px;
height: 100px;
background: yellow;
}
li {
list-style-type: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script>
<li id='category_1'>
<div class='item_menu'>
<div class='titre' style='display:none;'>menu 1 title</div>
</div>
</li>
<li id='category_2'>
<div class='item_menu'>
<div class='titre' style='display:none;'>menu 2 title</div>
</div>
</li>
<script>
$('.item_menu').mouseover(function() {
$(this).children('.titre').show('slide', {
direction: 'right'
});
});
$('.item_menu').mouseout(function() {
$(this).children('.titre').hide('slide', {
direction: 'right'
});
});
</script>
【问题讨论】:
-
整个 UI 看起来有很多 bug,当使用
find而不是children时效果已经好很多了,这很奇怪:jsfiddle.net/aLhj9pwk -
您可以轻松创建预期的行为而无需额外的库,只需使用transition 甚至设置without 任何JS,您作为示例的页面仅使用CSS。
-
jQueryUI 1.9 于 2012 年发布。我建议更新您的版本。与 jQuery 相同。您应该可以毫无问题地转到 3.x。
标签: jquery events mouseover skip mouseout