dd 显示样式更改为 none
dd display style changing to none
我有一个 dl,但是当我 运行 它时,首次单击 dt 时 dd 元素工作正常,但随后 dd 样式变为 display:none,我不确定为什么.如何保持样式不变?我已经尝试添加 display: block!important 到我的 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;
});
}
我有一个 dl,但是当我 运行 它时,首次单击 dt 时 dd 元素工作正常,但随后 dd 样式变为 display:none,我不确定为什么.如何保持样式不变?我已经尝试添加 display: block!important 到我的 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;
});
}