首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.slideToggle()检查

.slideToggle()检查
EN

Stack Overflow用户
提问于 2011-11-02 21:49:32
回答 1查看 839关注 0票数 0

我有一个菜单,里面有不同的滑动开关。javascript如下所示:

代码语言: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');

          });

现在你可以看到,一旦我点击一个.toggler,他就会将某些区域设置为display:none,将一些区域设置为display:block。但是,如果我可以替换这部分代码,将会更完美:

代码语言:javascript
复制
$(this).parent().parent().find('.toggled_content2').css('display', 'none');

到一些检查块是否打开的代码,所以是的,然后滑动关闭它。我不知道这是否可能,但如果可能的话,那就更好了。

感谢大家的支持!

下面是HTML:

代码语言:javascript
复制
                        <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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-02 21:53:56

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

代码语言:javascript
复制
$(this).parent().parent().find('.commonClass:visible').css('display', 'none');

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

或者更好

代码语言:javascript
复制
$(this).parent().parent().find('.commonClass').slideToggle()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7981452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档