jQuery切换/幻灯片重置链接
我为网站上的一些文本制作了一个切换脚本。我有大约10个头部链接和两个h3链接。基本上,如果你点击一个头部链接,它会通过再次点击来打开和关闭。如果你点击h3,它们都会打开。如果已经打开了,它会保持打开状态。一个问题是,如果你全部打开它们,然后关闭并只打开一个,然后尝试关闭它们,你必须单击h3两次。这是因为当自己打开时,它会给出一个active1类,而当一起打开时,它会给出一个active1类。因此,当我第一次点击h3时,它会将active1变为active,这是为了在只有一个打开的情况下,它们都可以关闭或打开,而你想将它们全部打开,然后第二次它最终关闭所有的active。希望这是有道理的 这是你的电话号码jQuery切换/幻灯片重置链接,jquery,toggle,slidetoggle,slidedown,slideup,Jquery,Toggle,Slidetoggle,Slidedown,Slideup,我为网站上的一些文本制作了一个切换脚本。我有大约10个头部链接和两个h3链接。基本上,如果你点击一个头部链接,它会通过再次点击来打开和关闭。如果你点击h3,它们都会打开。如果已经打开了,它会保持打开状态。一个问题是,如果你全部打开它们,然后关闭并只打开一个,然后尝试关闭它们,你必须单击h3两次。这是因为当自己打开时,它会给出一个active1类,而当一起打开时,它会给出一个active1类。因此,当我第一次点击h3时,它会将active1变为active,这是为了在只有一个打开的情况下,它们都可
这就是你想要的功能吗
toggleClass和slideToggle函数执行我认为您正在尝试执行的操作。如果只需要一个类,为什么需要使用两个类?这只是告诉你哪些是开放的或没有
$("h3").click(function() {
var $div = $(this).siblings('.head'); // cache the relative divs
var len = $div.filter('.active').length; // get how many are active
var $topic = $(".topics", $(this).parent()); // topics relative to element
if (len == $div.length) { // if all are active
$div.removeClass('active'); // remove class active
$topic.slideUp(350); // slideup
} else {
$div.addClass('active'); // else add active to all
$topic.slideDown(350) // slide down
}
});
$(".head").click(function() {
var $el = $(this); // cache this
if ($el.hasClass("active")) {
$el.removeClass("active").next().slideUp(350);
} else {
$el.addClass("active").next().slideDown(350);
};
});
请参阅更新的JSFIDLE
原始代码:
if( $(".head").hasClass("active1") ){
$(".head").removeClass("active1").addClass("active").next().slideDown(350);
} else
升级代码:
$("h3").click(function(){
if( $(".head").hasClass("active1") ){
$(".head").removeClass("active1").next().slideUp(350);
}
太棒了,非常感谢!我对jQuery非常陌生。有时候我会让事情变得更简单,但我现在还不知道该怎么做。多谢各位much@user1842315不客气,希望这就是你要找的。。如果回答了您的问题,请勾选绿色复选标记
if( $(".head").hasClass("active1") ){
$(".head").removeClass("active1").addClass("active").next().slideDown(350);
} else
$("h3").click(function(){
if( $(".head").hasClass("active1") ){
$(".head").removeClass("active1").next().slideUp(350);
}