2014-10-02 118 views
0

我點擊時使用css翻轉容器。第二次點擊時顯示容器

我想讓JQuery放大頁面上容器的背面容器once flippedhide all other

當容器是clicked again我希望它return to normal(再次顯示所有容器)。

這是儘可能我的代碼。

$('.f1_container').click(function(event) { 
    $('.f1_container').toggleClass('active').width(320).height(400);}).click(function(){ 
    $('.f2_container,.f3_container,.f4_container,.f5_container,.f6_container').hide(); 
    }); 

我的問題是當我第二次點擊所有隱藏的容器時隱藏。

這是我的HTML

<div class="f1_container"> 
    <div class="shadow f1_card"> 
    <div class="front face"> 
     <img src="images/y1.jpg" style="height: 160px; width: 160px;"> 
    </div> 
    <div class="back face center"> 
     Some text inside here 
    </div> 
    </div><!-- end of shadow f1_card --> 
</div><!-- end of f1_container --> 

<div class="f2_container"> 
    <div class="shadow f2_card"> 
    <div class="front face"> 
     <img src="images/o1a.jpg" style="height: 160px; width: 160px;"> 
    </div> 
    <div class="back face center"> 
     Some text inside here 
    </div> 
    </div><!-- end of shadow f2_card --> 
</div><!-- end of f2_container --> 

<div class="f3_container"> 
    <div class="shadow f3_card"> 
    <div class="front face"> 
     <img src="images/o1a.jpg" style="height: 160px; width: 160px;"> 
    </div> 
    <div class="back face center"> 
     Some text inside here 
    </div> 
    </div><!-- end of shadow f3_card --> 
</div><!-- end of f3_container --> 
+0

使用.toggle()? (http://api.jquery.com/toggle/) – nicolas 2014-10-02 09:24:20

+2

請提供您的HTML代碼,否則很難理解您想要的內容以及您的元素/類如何被調用和構造。它也有幫助,如果你在這裏犯了迷思... – Steini 2014-10-02 09:24:28

+0

看看[小提琴](http://jsfiddle.net/wrektshy/),看看它是如何做到的。 – Regent 2014-10-02 09:29:44

回答

3

假設你真的想這樣的函數,在所有容器工作,而無需針對每個一噸不同的處理程序,我們可以使用jQuery的attribute ends with selector ($)。我們可以與任何以_container結尾的課程進行比較。我們還使用.not來確保我們不會切換我們點擊的容器的可見性。

$('*[class$="_container"]').click(function(){ 
    $(this).toggleClass('active'); 
    $('*[class$="_container"]').not(this).toggle(); 
}); 

在你的CSS外商投資企業,確保活動類包含寬度/高度限制:

.active{ 
    width: 320px; 
    height:400px; 
} 
+0

用'[class $ =「_ container」]''好點,但不會在第二次單擊時將單擊的元素大小恢復到正常值。還有一些地方可以簡化:'$('[class $ =「_ container」]')'和'.not(this)'。 – Regent 2014-10-02 09:31:52

+1

我的[更新的小提琴](http://jsfiddle.net/wrektshy/1/)爲您的答案。 – Regent 2014-10-02 09:34:26

+0

@Regent Yea的確,寬度/高度應該是CSS定義的,我只是快速地用複製麪食快速移動。 :) – Ohgodwhy 2014-10-02 09:35:22

相關問題