jQuery滑动切换一次一个div,而不是单独切换所有div
我正在使用下面的函数切换div,通过它,任何一个条目内容div都可以独立于所有条目内容单独打开或关闭 如果在任何时候都只打开一个条目内容div,那就太好了。单击已关闭的条目标题div将关闭任何其他条目内容div,然后打开已单击的条目内容div。我需要继续使用html标记,因为它是由Wordpress动态创建的。这可能吗 功能: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
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而不是隐藏它,因为您以前隐藏过它。