dd显示样式更改为none
dd display style changing to none
我有一个dl,但当我运行它时,当第一次单击dt时,dd元素可以正常工作,但后来dd样式变为显示:none,我不知道为什么。如何防止样式发生变化?我已经尝试添加显示:块!这对我的css和dd标记本身都很重要,但这并不起作用。这是我的JQuery、CSS和HTML代码(JQuery嵌入在$(document).ready( function(){}
中)
setUpMenu();
function setUpMenu() {
$("dt").click(function(){
$("dd").slideUp("fast");
$(this).next().slideDown("fast");
return false;
});
}
<style>
dt {
list-style: none; cursor: pointer;
background-color: #558C89;
width: 150px; height: 25px;
font-size: 1.1em; color: white; text-align: center;
}
dt:hover {
background-color: #D9853B;
}
dd {
text-decoration: none;
}
.otherMenu {
float: left; margin-left: 3%;
}
</style>
<body>
<div class="otherMenu">
<label>More items available:</label>
<dl>
<dt>Mounts</dt>
<dd>Picture</dd>
<dd>Photos</dd>
<dt>Shadow Boxes</dt>
<dt>Multi-frames +</dt>
<dd>2 picture</dd>
<dd>3 picture </dd>
<dd>4 picture</dd>
<dt>Posters frames</dt>
<dt>Artist frames</dt>
<dt>Classic posters</dt>
<dt>Accessories</dt>
</dl>
</div>
</body>
这是因为这行:$("dd").slideUp("fast");
这意味着当dd
可见时,由于slideUp()
的功能,它们将变为隐藏。相反,slideDown()
显示了它们。
编辑
如果我正确理解你的要求,你可以使用nextUntil()
函数打开所有dd
元素,直到下一个dt
元素
像这个
setUpMenu();
function setUpMenu() {
$("dt").click(function(){
$("dd").slideUp("fast");
$(this).nextUntil("dt", "dd" ).slideDown("fast");
return false;
});
}
相关文章:
- 重写CSS:使用jquery显示none属性
- 如何在使用jQuery应用display:none后正确显示元素
- 在javascript中将样式显示从none更改为block
- dd显示样式更改为none
- jQuery 手风琴“heightStyle: fill”,页面加载时显示设置为 none
- JavaScript 所有具有相同类的元素都不会显示 none
- 使用block/none显示/隐藏jquery
- 设置 style
- 标记时不显示.display = none
- 如何将onclick显示延迟为none函数
- 如果字段为null,则在sitecore中显示none
- 显示:元素的none/block在Firefox中有效,在Safari或Chrome中无效
- 如果所有li子元素都具有CSS样式显示,则隐藏父元素:none
- 当我再次单击时,它显示none,高度回到0px,但里面的元素显示,不显示none或离开页面
- jQuery:如何只触发当前菜单,并在其值显示为none时删除样式属性
- JQuery:显示后删除了事件侦听器:none
- 使用html下拉菜单显示none和block
- jQuery .animate()设置显示:none,如何避免
- 显示none占用空间
- 鼠标悬停事件显示:none(隐藏)元素(chrome&opera)
- 当Div id刚刚从display:none显示到display:block时滚动页面id