Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 滑动切换多个项目,如果其中一个项目处于打开状态,请先关闭该项目,然后再打开另一个项目_Jquery_Html - Fatal编程技术网

Jquery 滑动切换多个项目,如果其中一个项目处于打开状态,请先关闭该项目,然后再打开另一个项目

Jquery 滑动切换多个项目,如果其中一个项目处于打开状态,请先关闭该项目,然后再打开另一个项目,jquery,html,Jquery,Html,我做了一点JS,我知道一些简单的东西,但我想知道如果我展开一个,然后点击另一个,展开任何打开的,在另一个打开之前关闭的,最好的方法是什么 JS HTML示例: <a href="#" id="link_1" class"expandCourse">test link 1</a> <div class="link_1" style="display:none;>content here</div> <a href="#" id="link_2

我做了一点JS,我知道一些简单的东西,但我想知道如果我展开一个,然后点击另一个,展开任何打开的,在另一个打开之前关闭的,最好的方法是什么

JS

HTML示例:

<a href="#" id="link_1" class"expandCourse">test link 1</a>
<div class="link_1" style="display:none;>content here</div>

<a href="#" id="link_2" class"expandCourse">test link 2</a>
<div class="link_2" style="display:none;>content here</div>

<a href="#" id="link_3" class"expandCourse">test link 3</a>
<div class="link_3" style="display:none;>content here</div>

满足于此
你可以这样用

$('.expandCourse').on('click',function() {
   $("[class^=link]").not($(this).next()).slideUp();
   $(this).next().slideToggle();
});

在每次单击中,它都会隐藏所有classname以
link
开头的div,但与当前锚点相关的div除外

编辑

$('.expandCourse').on('click',function() {
   $("[class^=link]").not($("."+this.id)).slideUp();
  $("."+this.id).slideToggle();
});

我不能使用。下一步,因为源代码比这多一点,我只是在本例中对其进行了精简。基于我所做的JS,我该怎么做呢。谢谢你的帮助,谢谢!Slide正在处理那些很棒的代码,但是其他的代码没有向后滑动,所以我可能需要将this.id更改为类?是的,我刚刚检查过,我要检查一下:)谢谢你的帮助-这一定是我集成的目的。
$('.expandCourse').on('click',function() {
   $("[class^=link]").not($("."+this.id)).slideUp();
  $("."+this.id).slideToggle();
});