jQuery在显示新元素之前隐藏所有可见元素

时间:2015-09-07 06:35:16

标签: javascript jquery toggle show-hide

所以我有以下代码:

function toggleTarget($element, cb) {
    $('.panel').each(function() {
       if($(this) != $element) {
           $(this).fadeOut('slow');
       }
    });
    $element.fadeToggle('slow', cb);
}

所以基本上你可以click在显示不同panels的多个按钮上,所以我要做的就是遍历所有可能的panels,如果有任何显示隐藏它们和然后显示与panel

按钮相关的clicked

P.S对JS来说非常新,所以请耐心等待并给出完整答案。

2 个答案:

答案 0 :(得分:1)

这只是一个演示。你可以这样试试,

HTML:

<div id="container">
    <div>1</div>
    <div>2</div>
    <div>3</div>
</div>

jQuery:

$("#container div").on("click", function(){
    var selectedDiv = $(this);
    $(this).parent().children("div").fadeOut();
    $(this).fadeIn();
});

jsFiddle

答案 1 :(得分:0)

fadeToggle $element $('.panel') fadeOut function toggleTarget($element, cb) { $.when( $('.panel').not($element).fadeOut('slow'); ).done(function() { $element.fadeToggle('slow', cb); }); } 函数的回调函数。

./manage.py migrate --fake default