2

这是一个代码片段,我们总是在其中动画一个<div>hide()其余的。hide()随着我们添加更多 内容,这会产生一长串列表。

<script type="text/javascript">
    //<![CDATA[
            function showSlidingDivVideoCategory(){
                // show what we need
                $("#slidingDivVideoCategory").animate({"height": "toggle"}, { duration: 500 });

                // hide what we dont
                $("#slidingDivAudioCategory").hide();
                $("#slidingDivPicturesCategory").hide();
                $("#slidingDivAdsCategory").hide();
                $("#slidingDivMediaRoom").hide();
                $("#slidingDivKeynotePresentations").hide();
                $("#slidingDivBlog").hide();
                $("#slidingDivAbout").hide();
                $("#slidingDivSubmitFootage").hide();
                $("#slidingDivContact").hide();
                $("#slidingDivSearchBox").hide();

有没有一种方法可以让我hide()全部<div>展示我想要的几个和我想要animate的那个?

4

4 回答 4

2

摆脱单独的隐藏语句并使用:

$("div:not('#slidingDivVideoCategory')").hide();
于 2013-10-04T00:32:10.290 回答
1

如果您真的想隐藏所有 <div>s,请使用

$('div').hide();

但是,您可能希望向所有<div>要隐藏的 s 添加一个类添加使用

$('.yourclassname').hide();

反而。

于 2013-10-04T00:31:41.710 回答
1

您可以使用类选择器并使用类隐藏。

$(".myclass").hide();

或者组合多个选择器:

$("#slidingDivAudioCategory, #slidingDivPicturesCategory, #slidingDivsAdsCategory").hide();
于 2013-10-04T00:34:26.627 回答
1

看你可以使用高级选择器,我看到你有很多以同一个词开头的 id,所以这会起作用

$("[id*=slidingDiv]").hide();

//For the animate use what you have

希望它有所帮助!

于 2013-10-04T00:37:18.740 回答