Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 slideToggle()打开/关闭多个div_Jquery_Html_Slidetoggle - Fatal编程技术网

使用JQuery slideToggle()打开/关闭多个div

使用JQuery slideToggle()打开/关闭多个div,jquery,html,slidetoggle,Jquery,Html,Slidetoggle,我正在使用Jquery的slideToggle()打开和关闭主菜单。slideToggle()工作正常 我需要做的是让滑动切换在打开另一个div时关闭一个div。我已经尝试了很多不同的方法来实现这一点,但我没有做到 我发现以下关于stackoverflow的建议: 我从这个建议中发现,每次我点击每个菜单项,页面都会跳到顶部(就像它被重新加载一样),我不喜欢这样 我还发现了一些代码: 我试着在小提琴上加上第三个盒子,看看发生了什么,但它的工作原理与前两个盒子不一样,我也不知道为什么 这就是我的

我正在使用Jquery的slideToggle()打开和关闭主菜单。slideToggle()工作正常

我需要做的是让滑动切换在打开另一个div时关闭一个div。我已经尝试了很多不同的方法来实现这一点,但我没有做到

我发现以下关于stackoverflow的建议:

我从这个建议中发现,每次我点击每个菜单项,页面都会跳到顶部(就像它被重新加载一样),我不喜欢这样

我还发现了一些代码:

我试着在小提琴上加上第三个盒子,看看发生了什么,但它的工作原理与前两个盒子不一样,我也不知道为什么

这就是我的HTML的外观:

            <div class="menu-item-1">
                <a href="#">Recovery</a>
            </div>
            <div class="menu-item-2">
                <a href="#">Forensics</a>
            </div>
            <div class="menu-item-3">
                <a href="#">Erasure</a>
            </div>
            <div class="menu-item-4">
                <a href="#">Training</a>
            </div>
            <div class="menu-item-5">
                <a href="#">Products</a>
            </div>
  $( ".menu-item-1" ).click(function() {
    $( ".recovery-bg" ).slideToggle("fast", "easeOutBack");
});

$( ".menu-item-2" ).click(function() {
    $( ".forensic-bg" ).slideToggle();
});

$( ".menu-item-3" ).click(function() {
    $( ".erasure-bg" ).slideToggle();
});

$( ".menu-item-4" ).click(function() {
    $( ".training-bg" ).slideToggle();
});

$( ".menu-item-5" ).click(function() {
    $( ".product-bg" ).slideToggle();
});
下面是滑动切换()的div的HTML代码:


我也看过一些其他的教程,但在这些教程中我注意到有些人的标签中没有
href
,如果可以的话,我想避免类似的东西


如果有人能帮忙,那就太好了

我将进行一些小的标记更改,如

<div class="menu-item menu-item-1" data-target=".recovery-bg">
    <a href="#">Recovery</a>
</div>
<div class="menu-item menu-item-2" data-target=".forensic-bg">
    <a href="#">Forensics</a>
</div>
<div class="menu-item menu-item-3" data-target=".erasure-bg">
    <a href="#">Erasure</a>
</div>
<div class="menu-item menu-item-4" data-target=".training-bg">
    <a href="#">Training</a>
</div>
<div class="menu-item menu-item-5" data-target=".product-bg">
    <a href="#">Products</a>
</div>
<div class="menu-toggle recovery-bg">
    recovery-bg
</div>
<div class="menu-toggle forensic-bg">
    forensic-bg
</div>
<div class="menu-toggle erasure-bg">
    erasure-bg
</div>
<div class="menu-toggle training-bg">
    training-bg
</div>
<div class="menu-toggle product-bg">
    product-bg
</div>

演示:

我将做一些小的标记更改,如

<div class="menu-item menu-item-1" data-target=".recovery-bg">
    <a href="#">Recovery</a>
</div>
<div class="menu-item menu-item-2" data-target=".forensic-bg">
    <a href="#">Forensics</a>
</div>
<div class="menu-item menu-item-3" data-target=".erasure-bg">
    <a href="#">Erasure</a>
</div>
<div class="menu-item menu-item-4" data-target=".training-bg">
    <a href="#">Training</a>
</div>
<div class="menu-item menu-item-5" data-target=".product-bg">
    <a href="#">Products</a>
</div>
<div class="menu-toggle recovery-bg">
    recovery-bg
</div>
<div class="menu-toggle forensic-bg">
    forensic-bg
</div>
<div class="menu-toggle erasure-bg">
    erasure-bg
</div>
<div class="menu-toggle training-bg">
    training-bg
</div>
<div class="menu-toggle product-bg">
    product-bg
</div>

演示:

我将做一些小的标记更改,如

<div class="menu-item menu-item-1" data-target=".recovery-bg">
    <a href="#">Recovery</a>
</div>
<div class="menu-item menu-item-2" data-target=".forensic-bg">
    <a href="#">Forensics</a>
</div>
<div class="menu-item menu-item-3" data-target=".erasure-bg">
    <a href="#">Erasure</a>
</div>
<div class="menu-item menu-item-4" data-target=".training-bg">
    <a href="#">Training</a>
</div>
<div class="menu-item menu-item-5" data-target=".product-bg">
    <a href="#">Products</a>
</div>
<div class="menu-toggle recovery-bg">
    recovery-bg
</div>
<div class="menu-toggle forensic-bg">
    forensic-bg
</div>
<div class="menu-toggle erasure-bg">
    erasure-bg
</div>
<div class="menu-toggle training-bg">
    training-bg
</div>
<div class="menu-toggle product-bg">
    product-bg
</div>

演示:

我将做一些小的标记更改,如

<div class="menu-item menu-item-1" data-target=".recovery-bg">
    <a href="#">Recovery</a>
</div>
<div class="menu-item menu-item-2" data-target=".forensic-bg">
    <a href="#">Forensics</a>
</div>
<div class="menu-item menu-item-3" data-target=".erasure-bg">
    <a href="#">Erasure</a>
</div>
<div class="menu-item menu-item-4" data-target=".training-bg">
    <a href="#">Training</a>
</div>
<div class="menu-item menu-item-5" data-target=".product-bg">
    <a href="#">Products</a>
</div>
<div class="menu-toggle recovery-bg">
    recovery-bg
</div>
<div class="menu-toggle forensic-bg">
    forensic-bg
</div>
<div class="menu-toggle erasure-bg">
    erasure-bg
</div>
<div class="menu-toggle training-bg">
    training-bg
</div>
<div class="menu-toggle product-bg">
    product-bg
</div>


演示:

打开/关闭元素的标记在哪里,如
recovery bg
我为滑动切换()的div添加了html。在我的css中,我刚刚将.recovery bg设置为无显示。当你点击它时,它是可见的。试试这个:谢谢。我在代码中遇到的问题是,当我添加另一个框时,它不会以相同的方式工作,请参见:Fiddle。如果你能看到我做错了什么并纠正我,那就太好了。打开/关闭元素的标记在哪里,如
recovery bg
I已为slide Toggle()的div添加了html。在我的css中,我刚刚将.recovery bg设置为无显示。当你点击它时,它是可见的。试试这个:谢谢。我在代码中遇到的问题是,当我添加另一个框时,它不会以相同的方式工作,请参见:Fiddle。如果你能看到我做错了什么并纠正我,那就太好了。打开/关闭元素的标记在哪里,如
recovery bg
I已为slide Toggle()的div添加了html。在我的css中,我刚刚将.recovery bg设置为无显示。当你点击它时,它是可见的。试试这个:谢谢。我在代码中遇到的问题是,当我添加另一个框时,它不会以相同的方式工作,请参见:Fiddle。如果你能看到我做错了什么并纠正我,那就太好了。打开/关闭元素的标记在哪里,如
recovery bg
I已为slide Toggle()的div添加了html。在我的css中,我刚刚将.recovery bg设置为无显示。当你点击它时,它是可见的。试试这个:谢谢。我在代码中遇到的问题是,当我添加另一个框时,它不会以相同的方式工作,请参见:Fiddle。如果你能看到我做错了什么并纠正我,那就太好了。你介意解释一下jquery吗?我可以看到您已经创建了一个变量$bgs,并在其中切换存储菜单,然后您就有了.click函数,该函数将触发slideToggle(),最后一行代码是做什么的?我认为这是为了检查打开的div是否不是目标,如果不是,则将其向上滑动并关闭。对于所有切换的div,我们添加了一个名为
菜单切换
的类,如上所示。然后在
menu-item-x
元素中,我们又添加了一个名为
menu-item
的类和一个名为
data-target
的属性,该属性包含必须切换的
div
的选择器。在单击处理程序中,我们首先切换目标div,然后隐藏可能可见的任何其他
菜单切换
元素-这是最后一行Your answer works@arun我也找到了一个替代解决方案,我想使用它唯一的问题是每次我单击菜单项标记时,页面看起来就像它的标签一样重新加载,我想停止页面重新加载。你能帮忙吗?这是jquery
$(.trigger”)。单击(function(){var divtologgle=$($(this).find(“a”).attr('href');$(.toggle:visible”)。not(divtologgle.hide();divtologgle.slideToggle(“slow”)你介意解释一下jquery吗?我可以看到您已经创建了一个变量$bgs,并在其中切换存储菜单,然后您就有了.click函数,该函数将触发slideToggle(),最后一行代码是做什么的?我认为这是为了检查打开的div是否不是目标,如果不是,则将其向上滑动并关闭。对于所有切换的div,我们添加了一个名为
菜单切换
的类,如上所示。然后在
menu-item-x
元素中,我们又添加了一个名为
menu-item
的类和一个名为
data-target
的属性,该属性包含必须切换的
div
的选择器。在单击处理程序中,我们首先切换目标div,然后隐藏可能可见的任何其他
菜单切换
元素-这是最后一行Your answer works@arun我也找到了一个替代解决方案,我想使用它唯一的问题是每次我单击菜单项标记时,页面看起来就像它的标签一样重新加载,我想停止页面重新加载。你能帮忙吗?这是jquery
$(.trigger”)。单击(function(){var divtologgle=$($(this).find(“a”).attr('href');$(.toggle:visible”)。not(divtologgle.hide();divtologgle.slideToggle(“slow”)Woul