我有三个标题,三个都有一些描述
当我点击第一个标题时,我可以看到它的描述
当我点击第二个标题时,我可以看到它的描述
我的代码在这里:
JS:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery(".content").hide();
//toggle the componenet with class msg_body
jQuery(".heading").click(function()
{
jQuery(this).next(".content").slideToggle(500);
});
});
</script>
的CSS:
.layer1 {
margin: 0;
padding: 0;
width: 500px;
}
.heading {
margin: 1px;
color: #fff;
padding: 3px 10px;
cursor: pointer;
position: relative;
background-color:#c30;
}
.content {
padding: 5px 10px;
background-color:#fafafa;
}
p { padding: 5px 0; }
html代码:
<div class="layer1">
<p class="heading">Header-1 </p>
<div class="content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit</div>
<p class="heading">Header-2</p>
<div class="content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit</div>
<p class="heading">Header-3</p>
<div class="content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit orem ipsum dolor sit amet, consectetuer adipiscing elit</div>
</div>
现在我希望当我点击一个标题时,其他描述必须隐藏,只有第一个标题的描述可见 该怎么做..?
答案 0 :(得分:7)
隐藏所选.content
的所有.content
个兄弟姐妹:
jQuery(".heading").click(function() {
jQuery(this)
.next(".content").slideToggle(500)
.siblings(".content").slideUp(500);
});
答案 1 :(得分:1)
这不起作用吗?
jQuery(document).ready(function() {
jQuery(".content").hide();
//toggle the componenet with class msg_body
jQuery(".heading").click(function() {
jQuery(".content").slideUp();
jQuery(this).next(".content").slideDown(500);
});
});
答案 2 :(得分:1)
jQuery(document).ready(function() {
jQuery(".content").hide();
//toggle the componenet with class msg_body
jQuery(".heading").click(function() {
jQuery(".content").not(jQuery(this).next(".content")).slideUp(500);
jQuery(this).next(".content").slideToggle(500);
});
});
答案 3 :(得分:1)
jQuery(document).ready(function() {
//toggle the componenet with class msg_body
jQuery(".heading").click(function()
{
jQuery(this).parent().find(".opened").slideToggle(500, function(){
$(this).removeClass('opened');
});
jQuery(this).next(".content").slideToggle(500, function(){
$(this).addClass('opened');
});
});
});
答案 4 :(得分:1)
在点击事件中尝试此操作..
jQuery(".heading").click(function()
{
jQuery(".content").hide();
jQuery(this).next(".content").slideToggle(500);
});
希望对你有用..
答案 5 :(得分:0)
你必须确定这样做。您可以通过使用其他名称创建克隆来识别类,而不是按类获取标记并隐藏而不隐藏所有内容。