2014-03-03 155 views
0
<div class="wrapper"> 
    <div class="box1"> 
    <p>Content Here</p> 
    <button type="button" class="close">Close Box1</button> 
    </div> 

    <div class="box2"> 
    <p>Content Here</p> 
    <button type="button" class="close">Close Box2</button> 
    </div> 
    <div class="box3"> 

    <p>Content Here</p> 
    <button type="button" class="close">Close Box3</button> 
    </div> 

</div> 

http://jsfiddle.net/isherwood/KeChx解雇的div,当所有被解雇的包装被自动解雇

我试图使用Twitter的引导警报驳回,但只关闭1号外div标签, 例如关闭按钮里面BOX1和我想关闭外部div.wrapper。

什么我是后是能够关闭/独立,一旦他们都驳回了BOX1,BOX2,BOX3被关闭/驳回div.wrapper将自动被开除过..

任何想法我怎么能得到这个?

我想在这里寻找,但我发现最重要的是弹出一个贴心的功能,这是不是因为这些箱子是什么,我需要不需要弹出..提前

谢谢球员

+0

小提琴上面添加。如果你喜欢,用你的CSS更新它。 – isherwood

回答

0

您可能能够得到data-dismiss非模态元素上工作,但它只是作为简单的做自己的jQuery函数:

http://jsfiddle.net/isherwood/KeChx/6

$('.close').click(function() { 
    $(this).parent('div').slideUp(); 
}); 

在这种情况下,我们没有理由辞退父元素一次它是空的,但你肯定会喜欢这样的:

$('.close').click(function() { 
    $(this).parent('div').slideUp(); 

    if (! $('.wrapper > div')) { 
     $('.wrapper').hide(); 
    } 
}); 

下面是上述行动的一个例子。为了清晰起见,如果孩子数量低于2,我已将其设置为关闭父母.wrapper

http://jsfiddle.net/isherwood/KeChx/8

function closeEmptyWrapper() { 
    var divCt = $('.wrapper').find('div').not(':hidden').size(); 

    if (divCt < 2) { 
     $('.wrapper').fadeOut(); 
    } 
} 

$('.close').click(function() { 
    $(this).parent('div').slideUp('', closeEmptyWrapper); 
}); 
+0

谢谢isherwood!正是我需要的! 有一个问题,我在bootstrap.min.js v3.1.1和我的本地驱动器上试过这个,我在div.box里面移动了更深的.close按钮2 div ..由于内容布局的目的..会不会导致功能不工作?我尝试过了,它不工作... 和div.box也深2个div标签的div.wrapper 内其现在 div.wrapper - > div.content - > div.col10 - > div.box - > div.row - > div.col8 - > button.close –

+0

您必须更改选择器以符合您的HTML。 – isherwood

+0

你能帮我解决这个问题 - > http://jsfiddle.net/KeChx/9/ 它的实际代码,我有..我已经匹配选择器到我的HTML,但仍然无法让事情工作。 。 在此先感谢伊舍伍德 –