jQuery滑动切换一次一个div,而不是单独切换所有div

jQuery滑动切换一次一个div,而不是单独切换所有div,jquery,slidetoggle,Jquery,Slidetoggle,我正在使用下面的函数切换div,通过它,任何一个条目内容div都可以独立于所有条目内容单独打开或关闭 如果在任何时候都只打开一个条目内容div,那就太好了。单击已关闭的条目标题div将关闭任何其他条目内容div,然后打开已单击的条目内容div。我需要继续使用html标记,因为它是由Wordpress动态创建的。这可能吗 功能: jQuery(document).ready(function($) { $(".entry-content").hide('slow'); $(".entry-titl

我正在使用下面的函数切换div,通过它,任何一个条目内容div都可以独立于所有条目内容单独打开或关闭

如果在任何时候都只打开一个条目内容div,那就太好了。单击已关闭的条目标题div将关闭任何其他条目内容div,然后打开已单击的条目内容div。我需要继续使用html标记,因为它是由Wordpress动态创建的。这可能吗

功能:

jQuery(document).ready(function($) {
$(".entry-content").hide('slow');
$(".entry-title").click(function() {
$(this).parent().children(".entry-content").slideToggle(500); });
});
html

<div class="entry-post">

   <h2 class="entry-title">Post Title 1</h2>

   <div class="entry-content">Lorem Ipsum...

</div></div>

   <h2 class="entry-title">Post Title 2</h2>

   <div class="entry-content">Lorem Ipsum...

</div></div>

More of the same....

</div>

职位名称1
乱数假文。。。
职位名称2
乱数假文。。。
更多相同的。。。。

只要在每次单击一个按钮时再次将其全部关闭即可:

jQuery(document).ready(function($) {
$(".entry-content").hide('slow');
$(".entry-title").click(function() {
    $(".entry-content").hide();
$(this).parent().children(".entry-content").slideToggle(500); });
});

示例:

是的,您可以使用以下逻辑:

$(".entry-title").click(function() {
    // hide all entry title elements
    $('.entry-title').hide();
    // show the clicked one
    $(this).show();
});
您可以将其调整为使用切换,而不是隐藏/显示

我通常是通过为元素分配特殊的css类来实现这种逻辑(最好将内容分开)。所以,当我单击元素时,我向它添加了一个类。但是,当您单击另一个元素时,您必须使用该类创建元素,但您只需要一个。所以你必须修改它。首先从所有元素中删除该类,然后将其添加到单击的元素中

$(".anyAffectedElement").click(function() {
    // remove any instances of special class
    $('.enabledElement').removeClass('eneabledElement');
    // add special class to clicked element 
    $(this).addClass('enabledElement');
});

^这只是一个一般的逻辑,你怎么能处理这样的事情呢。在简单的情况下,“enabledElement”类只是添加了一些特殊的样式(如突出显示)。

我不理解其他人给出的示例,但最后我在另一个地方找到了答案,如果有人需要更简单(或不同)的解决方案:

@markratledge-首先,您需要提供div的id,而不是类的id

$("#link1").click(function(e) {
  e.preventDefault();
  $("#div1").slideDown(slow);
  $("#div2").slideUp(slow);
});

$("#link2").click(function(e) {
  e.preventDefault();
  $("#div1").slideUp(slow);
  $("#div2").slideDown(slow);
});

谢谢你的解释;我最后给出了切换操作的以下答案。但是如果您切换一个已经打开的,它将显示div而不是隐藏它,因为您以前隐藏过它。