2014-10-02 119 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

相关问题