2012-02-28 111 views
1

您好所有在StackOverflow,在過去幾天我有我的網站的一些問題,並有一個非常舒適的點,它在哪裏。我現在的jQuery腳本是:jQuery隱藏和顯示部門

jQuery(document).ready(function() { 
    $("#firstpagename, #firstpagename2").click(function() { 
     $("div#white").toggle(); 
    }); 

    $("#secondpagename, #secondpagename2").click(function() { 
     $("div#v2black").toggle(); 
    }); 

    $("#thirdpagename, #thirdpagename2").click(function() { 
     $("div#v3black").toggle(); 
    }); 
}); 

我知道這可能不是最乾淨,最好的方法,但它的工作原理,並曾我過去5幾天就要瘋了,因爲我只有現在開始使用jQuery的一週。

什麼我想現在要做的就是讓div的白色v2blackv3black打開;當它打開時,它會關閉其他可能同時打開的div(見上)。

這裏是我的HTML櫃面它是需要以供參考:

<div class="altstevenav" style="display:none"> 
    <div class="stevenav"> 
     <ul class="navigation"> 
      <li> 
       <a href="#firstpagename" id="firstpagename">Steve A</a> 
      </li> 
      <li> 
       <a href="#secondpagename" id="secondpagename">Tattoos</a> 
      </li> 
      <li> 
       <a href="#thirdpagename" id="thirdpagename">Sketchbook</a> 
      </li> 
     </ul> 
    </div> 
</div> 
</div> 
<!--MAIN CLOSING DIV--> 
</div> 
<!--CONTENT CLOSING DIV--> 
    <div class="stevenav"> 
     <ul class="navigation"> 
      <li> 
       <a href="#firstpagename" id="firstpagename2">Steve A</a> 
      </li> 
      <li> 
       <a href="#secondpagename" id="secondpagename2">Tattoos</a> 
      </li> 
      <li> 
       <a href="#thirdpagename" id="thirdpagename2">Sketchbook</a> 
      </li> 
     </ul> 
    </div> 

<!--ALL DIVS ARE CLOSE HERE--> 
<!--Divisional Panels--> 
<div id="white"> 
<div style="width:968px; margin: 0 auto;"> 
<div class="panel" style="color:#000000;"> 
<div style="width:450px; float:left;"> 
<img src="<?php echo the_field('image_one_of_biography'); ?>" width="425" alt="Biography Image" /> 
<br /><br /> 
<img src="<?php echo the_field('image_two_of_biography'); ?>" width="425" alt="Biography Image" /> 
<br /><br /> 
<img src="<?php echo the_field('image_three_of_biography'); ?>" width="425" alt="Biography Image" /> 
</div> 
<div style="width:450px; float:left; text-align:left;"> 
<?php echo the_field('biography_content'); ?> 
</div> 
</div> 
</div> 
</div> 
<div id="v2black"> 
<div style="width:968px; height:1000px; margin: 0 auto;"> 

</div> 
</div> 

<div id="v3black"> 
<div style="width:968px; height:1000px; margin: 0 auto;"> 

</div> 
</div> 

我想認爲這是非常簡單的,但只是想一點點,我應該如何去這個方向..

我在堅果殼問題:在同一時間只有一分格開出的白色v2blackv3black

+0

見http://stackoverflow.com/questions/4642221/ja vascript-toggle-between-three-hidden-divs – paislee 2012-02-28 21:29:27

+0

查看jQueryUI Accordion。這可能是你正在尋找的。 – 2012-02-28 21:30:34

+0

重複的http://stackoverflow.com/q/9474148/221619 – 2012-02-28 21:31:38

回答

1

你可以指定一個普通類,並強迫他們全封閉上點擊然後重新打開一個你想要的......

jQuery(document).ready(function() { 
    $("#firstpagename, #firstpagename2").click(function() { 
     $('.common').hide(); 
     $("div#white").toggle(); 
    }); 

    $("#secondpagename, #secondpagename2").click(function() { 
     $('.common').hide(); 
     $("div#v2black").toggle(); 
    }); 

    $("#thirdpagename, #thirdpagename2").click(function() { 
     $('.common').hide(); 
     $("div#v3black").toggle(); 
    }); 
}); 

然後添加類HT​​ML ...

<div id="white" class="common"> 
</div> 
<div id="v2black" class="common"> 
</div> 
<div id="v3black" class="common"> 
</div> 
+0

Thankyou非常感謝您的反饋,在某些情況下,它確實吐出了相同的信息,或將div放在彼此之上,因此無法正常工作。然而,通過結合你們所有人的代碼形式,我已經編譯了這個工作的完美,而且正是我所追求的! 不能說這已經做了多少,我想向所有人表示非常感謝,因爲你們都讓我到了我想成爲的地方。 感謝您花時間幫助我!對於任何好奇的人,我使用的代碼如下: BOOM!進來;) – 2012-02-28 21:50:26

1

它看起來像你可能想看看一個jQuery hideshow,而不是使用切換。

0

更改第一個:

$("#firstpagename, #firstpagename2").click(function() { 
    $("#white").show(); 
    $("#v2black, #v3white").hide(); 
}); 

然後重複別人。

+1

謝謝你的反饋,在某些情況下,它確實吐出了相同的信息,或者將div放在彼此之上,所以它不起作用。然而,通過結合你們所有人的代碼形式,我已經編譯了這個工作的完美,而且正是我所追求的! 不能說這已經做了多少,我想向所有人表示非常感謝,因爲你們都讓我到了我想成爲的地方。 感謝您花時間幫助我!對於任何好奇的人,我使用的代碼如下: BOOM! Get in;) – 2012-02-28 21:47:56

0

如果你給你想切換類的元素(如「可切換」),它應該工作很容易:

$(".toggleable").click(function(){ 
     $(".toggleable").hide(); //Hide all elements with the class toggleable. 
     $(this).toggle(); //Show the element that the user clicked on. 
}); 
+0

謝謝你的反饋,在某些情況下,它吐出了相同的信息或疊加在彼此之上的div,所以它不起作用。然而,通過結合你們所有人的代碼形式,我已經編譯了這個工作的完美,而且正是我所追求的! 不能說這已經做了多少,我想向所有人表示非常感謝,因爲你們都讓我到了我想成爲的地方。 感謝您花時間幫助我!對於任何好奇的人,我使用的代碼如下: BOOM!進入 ;) – 2012-02-28 21:48:11