我想要完成的是:当用户将鼠标悬停在INCREASE链接上时。红色div的宽度应该增加。似乎不想工作。是因为内联css吗?
这是我的代码:
$("#increase_button").mouseover(function(){
$("#bar").css("width", "50%");
});
HTML
<div style="width: 30%; height: 10px; border: 1px solid #AAA; margin-top: 12px; margin-right: 15px;">
<div id="bar" style="width: 20%;background-color:red;height:100%; margin-bottom: 15px;"></div>
</div>
<br>
<a href="" id="increase_button"> INCREASE </a>
我甚至尝试过css:
#increase_button:hover #bar{
width: 50%;
}
这是fiddle。如何在悬停时使红色div增加?
答案 0 :(得分:2)
我建议将纯CSS用于这样的简单hover
事件。将a
元素设置为前一个兄弟元素,以便使用相邻的兄弟组合器+
,然后删除#bar
上的内联样式 - 这会导致特定问题冲突。
#bar {
width: 20%;
background-color:red;
height:100%;
margin-bottom: 15px;
transition:all 2s;
-webkit-transition:all 2s;
-moz-transition:all 2s;
}
#increase_button:hover + div #bar {
width: 50%;
}
如果你坚持使用jQuery:
$("#increase_button").mouseover(function(){
$("#bar").css("width", "50%");
}).mouseleave(function () {
$("#bar").css("width", "20%");
});
答案 1 :(得分:1)
这是因为您的选择器错误,您的元素标识为bar
。
代码:
$("#increase_button").mouseover(function(){
$("#bar").css("width", "50%");
});