<div id="box"></div>
<div class="text"></div>?
$(document).ready(function () {
$('#box').click(function () {
$('.text').slideToggle('slow');
});
});
#box{
height:40px;
width:100px;
background:red;
}
#box:hover{background:blue;}
#box:after{
content: "";
height: 10px;
position: absolute;
width: 0;
margin-top:40px;
margin-left:40px;
border: 10px solid transparent;
border-top-color: red;
}
#box:hover:after{
border-top-color: blue;
}
.text{
display:none;
height:40px;
width:100px;
background:#fd0;
margin-top:20px;
}
Run Code Online (Sandbox Code Playgroud)
是否可以使用 jQuery 添加样式after箭头?当text class关闭时,after如果显示则删除箭头类text class,然后添加箭头?我尝试过,但似乎不起作用
根据 @elclanrs 评论,您不能使用 JS 添加伪元素。但是,您可以做的是在 CSS 中声明它们仅在父元素具有特定类时显示,然后使用 JS 切换此类,如下所示:
#box.expanded:after {
content:'';
height: 10px;
position: absolute;
width: 0;
margin-top:40px;
margin-left:40px;
border: 10px solid transparent;
border-top-color: red;
}
Run Code Online (Sandbox Code Playgroud)
您还必须在 JS 中添加一行,以便在单击该框时添加此类:
$('#box').click(function () {
$(this).toggleClass('expanded');
$('.text').slideToggle('slow');
});
Run Code Online (Sandbox Code Playgroud)
请参阅此处的示例: http: //jsfiddle.net/zfQvD/17/
| 归档时间: |
|
| 查看次数: |
13076 次 |
| 最近记录: |