Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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/jquery/69.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
Javascript .slideToggle()检查_Javascript_Jquery_Slidetoggle - Fatal编程技术网

Javascript .slideToggle()检查

Javascript .slideToggle()检查,javascript,jquery,slidetoggle,Javascript,Jquery,Slidetoggle,我有一份菜单,里面有不同的幻灯片切换。javascript如下所示: $('.toggler').live('click',function(){ $(this).parent().children().toggle(); //swaps the display:none between the two spans $(this).parent().parent().find('.toggled_content').slideToggle

我有一份菜单,里面有不同的幻灯片切换。javascript如下所示:

$('.toggler').live('click',function(){
              $(this).parent().children().toggle();  //swaps the display:none between the two spans
              $(this).parent().parent().find('.toggled_content').slideToggle();  //swap the display of the main content with slide action
              $(this).parent().parent().find('.toggled_content2').css('display', 'none');
              $(this).parent().parent().find('.div2').css('display', 'none');
              $(this).parent().parent().find('.ap2').css('display', 'block');
              $(this).parent().parent().find('.toggled_content3').css('display', 'none');
              $(this).parent().parent().find('.div3').css('display', 'none');
              $(this).parent().parent().find('.ap3').css('display', 'block');
              $(this).parent().parent().find('.toggled_content4').css('display', 'none');
              $(this).parent().parent().find('.div4').css('display', 'none');
              $(this).parent().parent().find('.ap4').css('display', 'block');

          });
现在你可以看到,一旦我点击一个.切换器,他会设置某个区域的显示:无,一些区域的显示:块。但如果我可以替换这部分代码,还有什么更完美的呢

$(this).parent().parent().find('.toggled_content2').css('display', 'none');
检查块是否打开的一些代码,然后滑动以关闭它。我不知道这是否可能,但如果可能的话,看起来会更好

谢谢转发

以下是HTML:

                        <div id="spacerouter"><div id="spacer"><div id="spacerin"></div><div id="spacerinr"></div></div></div>
                <div class='toggleHolder'>
                    <div id="company" class='toggler ap1'>
                        <div id="companysiton"></div>
                            <div id="companyname">
                                <h1>Siton Suzenaar</h1>
                                <h2>Hyundai / Opel / Chevrolet</h2>
                            </div><!-- companyname -->
                    </div><!-- company -->
                    <div id="company2" class='toggler div1' style='display:none;'>
                        <div id="companysiton"></div>
                            <div id="companyname">

                                <h2>Hyundai / Opel / Chevrolet</h2>
                            </div><!-- companyname -->
                    </div><!-- company -->
                </div><!-- toggleHolder -->
                <div class='toggled_content' style='display:none;' id="toggled_content">
                    <h3>



                    </h3>
                    <h3>
                    <a href="mailto:mail@mailhost.nl">mail@mailhost.nl</a><br />

                    </h3>
                </div>

西顿苏泽纳酒店
现代/欧宝/雪佛兰
现代/欧宝/雪佛兰


您可以使用可见和隐藏选择器,向所有需要切换的元素添加公共类

$(this).parent().parent().find('.commonClass:visible').css('display', 'none');

$(this).parent().parent().find('.commonClass:hidden').css('display', 'block');
或者更好

$(this).parent().parent().find('.commonClass').slideToggle()

但是如果我使用$(this.parent().parent().find('.commonClass').slideToggle(),那么它会在内容关闭时滑动打开内容吗?但是我需要一个脚本来检查它是打开的还是关闭的。当它打开时,然后只关闭该分区。@Augus抱歉,我不确定我是否理解。您的意思是要检查带有toggler类的单击div是否打开,如果打开,请关闭它?如果是这种情况,您可以调用$(this).slideToggle();这里的函数是$('.toggler').live('click',function(){})。但我有一种感觉,我可能还是误解了。我想检查一下是否有其他分区处于打开状态,如果有,请用幻灯片关闭此分区。因此,当我用.toggler单击div时,请检查.toggle_内容是否打开,如果打开,请滑动.toggle_内容以关闭。@Augus调用$(this).parent().parent().find('.toggled_内容').slideToggle();你的功能是正确的。虽然听起来toggle_content类中有多个元素,如果是这样,那么您必须将.toggle_holder&toggle_内容包含在另一个div中,以便在其他类的每个滑块中获得正确的内容。所以我得到了。切换内容,。切换内容2,等等。这样就不会有问题了。你的电话也可以。除了我想在滑动切换之前检查是否关闭了类的div。否则,如果它已经关闭,它将打开。