JS折叠菜单上的标头消失
header dissapears on js collapse menu
我有一个可折叠的菜单,它使用简单的js并且工作得很好,但是当你点击它时,标题消失了。 js 很容易适用于这两个菜单,但如果我尝试更改 js 中的文本以使其出现,那么它会为两个下拉菜单更改它们。 基本上,我如何使它只更改"+"和"-"而不是"冠军"Hanes"文本?我还尝试将"冠军"放在跨度之外,但它仍然发生了变化,因为它在标题中,我不知道如何更改 js 以仅更改跨度而不是整个标题。
$(".header").click(function () {
$header = $(this);
//getting the next element
$content = $header.next();
//open up the content needed - toggle the slide- if visible, slide up, if not slidedown.
$content.slideToggle(500, function () {
//execute this after slideToggle is done
//change text of header based on visibility of content div
$header.text(function () {
//change text based on condition
return $content.is(":visible") ? "-" : "+";
});
});
});
.collapsemenu {
width:100%;
margin-bottom: 15px;
}
.collapsemenu div {
width:100%;
}
.collapsemenu .header {
background-color: #0FBAC1;
padding: 2px;
cursor: pointer;
color: white;
border-radius: 8px;
font-size: 1.2em;
padding-left: 5px;
}
.collapsemenu .content {
display: none;
padding : 5px;
}
.collapsemenu .content ul {
list-style-type: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="collapsemenu">
<div class="header">
<span>Champion +</span>
</div><!-- /header -->
<div class="content">
<ul>
<li><a href="">T-Shirts</a></li>
<li><a href="">Tanks</a></li>
<li><a href="">Polos</a></li>
<li><a href="">Long Sleeve</a></li>
<li><a href="">Hoodies</a></li>
<li><a href="">Sweats</a></li>
<li><a href="">Youth</a></li>
</ul>
</div><!-- /content -->
</div><!-- /collapsemenu -->
<div class="collapsemenu">
<div class="header">
<span>Hanes +</span>
</div><!-- /header -->
<div class="content">
<ul>
<li>This is just some random content.</li>
<li>This is just some random content.</li>
<li>This is just some random content.</li>
<li>This is just some random content.</li>
</ul>
</div><!-- /content -->
</div><!-- /collapsemenu -->
我会将 + 或 - 符号包装在一个范围中,然后只调用该范围的更改。
$(".header").click(function () {
$header = $(this);
//getting the next element
$content = $header.next();
//open up the content needed - toggle the slide- if visible, slide up, if not slidedown.
$content.slideToggle(500, function () {
//execute this after slideToggle is done
//change text of header based on visibility of content div
$sign = $header.children(".sign");
$sign.text(function () {
//change text based on condition
return $content.is(":visible") ? "-" : "+";
});
});
});
.collapsemenu {
width:100%;
margin-bottom: 15px;
}
.collapsemenu div {
width:100%;
}
.collapsemenu .header {
background-color: #0FBAC1;
padding: 2px;
cursor: pointer;
color: white;
border-radius: 8px;
font-size: 1.2em;
padding-left: 5px;
}
.collapsemenu .content {
display: none;
padding : 5px;
}
.collapsemenu .content ul {
list-style-type: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="collapsemenu">
<div class="header">
Champion <span class="sign">+</span>
</div><!-- /header -->
<div class="content">
<ul>
<li><a href="">T-Shirts</a></li>
<li><a href="">Tanks</a></li>
<li><a href="">Polos</a></li>
<li><a href="">Long Sleeve</a></li>
<li><a href="">Hoodies</a></li>
<li><a href="">Sweats</a></li>
<li><a href="">Youth</a></li>
</ul>
</div><!-- /content -->
</div><!-- /collapsemenu -->
<div class="collapsemenu">
<div class="header">
Hanes <span class="sign">+</span>
</div><!-- /header -->
<div class="content">
<ul>
<li>This is just some random content.</li>
<li>This is just some random content.</li>
<li>This is just some random content.</li>
<li>This is just some random content.</li>
</ul>
</div><!-- /content -->
</div><!-- /collapsemenu -->
您正在擦除元素的文本。将slideToggle
更改为:
$content.slideToggle(500, function () {
var currentText = $header.text();
if ($content.is(":visible")) {
currentText.replace(/'+{1}$/), '-');
} else {
currentText.replace(/'-{1}$/), '+');
}
$header.text(currentText);
});
相关文章:
- ExtJS——在展开/折叠时调整面板高度
- facebook”;添加评论“;popup获胜'不要消失
- 为什么js事件消失了
- JS文件的路径正在消失
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 展开和折叠文件夹
- 展开和折叠自举手风琴
- Morris.js折线图x轴标签在调整大小后消失
- 默认情况下折叠和展开嵌套列表
- JavaScript下拉菜单-部件在Mac上消失
- 将display属性更改为visible flicks,然后再次消失
- Bootstrap折叠按钮不适用于android
- 展开移动设备上的折叠菜单,同时在桌面上保持悬停
- TinyMCE实例在切换角度路由选项时会消失
- extjs 3.4 滚动条在面板折叠时消失
- JS折叠菜单上的标头消失
- Bootstrap 3.2-显示所有屏幕尺寸的折叠导航-下拉菜单消失
- 当使用JavaScript样式展开/折叠网格父元素时,网格就会消失.显示属性
- 需要消失的其他按钮折叠列表,一旦一个按钮被按下
- 物化's引起Boostrap's模式/折叠在Chrome上消失