javascript - jQuery addClass 和 removeClass 事件对悬停功能有奇怪的影响

标签 javascript jquery events

我正在尝试创建一个菜单列表,当您将鼠标悬停在每个菜单上时,它会显示其他内容。它现在可以正常工作,但每次您将鼠标悬停在每个项目上时,它都会在另一个列表项目上创建一个空间。

这是示例代码。

<ul class="test111">
    <li><span class="testCont">Another</span><a href="#" class="testmenu">Menu 1</a></li>
    <li><span class="testCont">Another1</span><a href="#" class="testmenu">Menu 2</a></li>
</ul>

CSS

.test111{
    position: fixed;
    right:0;
    margin-right:0;
}
.test111 li{
    margin-bottom: 10px;
    list-style: none;
    height:36px;
    display: block;
}
.test111 li .testCont{
    background:#0f0;
    width:100px;
    float:left;
    height: 100%;
}
.test111 li a{
    background:#0ff;
    width:50px;
    float:left;
    height: 100%;
}

JS

$('.testCont').hide();

$('.test111 li').mouseover(function(){

    $('.test111 li').removeClass('hoverME');
    $(this).addClass('hoverME');
    $('.hoverME .testCont').show();

});
$('.test111 li').mouseout(function(){
    $('.testCont').hide();
});

SAmple output here

非常感谢

最佳答案

只需将 float:right; 添加到 .test111 li a

$('.testCont').hide();

$('.test111 li').mouseover(function(){

    $('.test111 li').removeClass('hoverME');
    $(this).addClass('hoverME');
    $('.hoverME .testCont').show();

});
$('.test111 li').mouseout(function(){
    $('.testCont').hide();
});
.test111{position: fixed; right:0; margin-right:0;}
.test111 li{margin-bottom: 10px; list-style: none; height:36px; display: block;}
.test111 li .testCont{background:#0f0; width:100px; float:left; height: 100%;}
.test111 li a{background:#0ff; width:50px; float:left; height: 100%;float:right;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="test111">
    <li><span class="testCont">Another</span><a href="#" class="testmenu">Menu 1</a></li>
    <li><span class="testCont">Another1</span><a href="#" class="testmenu">Menu 2</a></li>
</ul>

关于javascript - jQuery addClass 和 removeClass 事件对悬停功能有奇怪的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48293276/

相关文章:

javascript - jquery silde 效果隐藏完整页面

javascript - 单击行上的任意位置以选中复选框并突出显示它?

jquery - 如何将包含 css 类的变量用于 document.queryselector()?

javascript - jQuery取消选中复选框不起作用

java - 将值从 JTextField 传递到 ActionListener

javascript - 我怎样才能用纯javascript获取ajax请求的ContentType?

javascript - 如何在javascript中获取当前点击的图片的数量

javascript - 预填充表单字段以满足所需条件

c# - 重新计算单元格值的 Excel C# 事件

javascript - 计算价格 JavaScript