2016-01-13 61 views
0

我想關閉上一張幻燈片,當幻燈片關閉時(處於活動狀態)。我怎樣才能做到這一點?感謝您的幫助。jQuery在slideDown時關閉幻燈片

//PARAMS 
var codeicons = jQuery('.codeparams').attr('data-icons'); 
var codecoloreven = jQuery('.codeparams').attr('data-even'); 
var codecolorhover = jQuery('.codeparams').attr('data-color'); 
var codebordercolor = jQuery('.codeparams').attr('data-border'); 

//DOWN 
jQuery('.code-question').toggle(function(){ 
    jQuery(this).next().slideDown('fast'); 

    if(codeicons == 'dark') { 
    jQuery(this).addClass('code-active').addClass('codedarkdell').css({'box-shadow' : codebordercolor + ' 0 0 4px 0 inset' , 'border-color' : codebordercolor}); 
} else { 
    jQuery(this).addClass('codelightdell').css({'box-shadow' : codebordercolor + ' 0 0 4px 0 inset' , 'border-color' : codebordercolor}); 
    }; 
}, 

/UP 
    function(){ 
    jQuery(this).next().slideUp('fast'); 
    jQuery(this).removeClass('codedarkdell').removeClass('codelightdell').css({'box-shadow': '', 'border-color': ''}); 
    }); 
+0

您的HTML如何看起來像? –

回答

0

下面是一個簡單的腳本,它可以幫助你:

$('.code-question').click(function(){ 
     //Close all which are open 
     $('.code-answer').slideUp(); 
     // check if clicking on active one 
     if ($(this).next().is(':visible')) { 
      //Close it if open 
      $(this).next().slideUp('fast');  
     } else { 
      //Open it if not 
      $(this).next().slideDown('fast');  
     } 

    }); 

您的代碼有更多的條件,你可以有。

+0

你真棒!非常感謝你:) – user1478791

+0

很高興爲您效勞。 –

+0

在開始另一個動畫之前首先應用jquery .stop方法是個好主意。所以你會有這樣的:$(this).next()。stop()。slideUp('fast')。否則,jquery會在應用下一個動畫之前等待任何其他動畫完成,這可能會導致一些奇怪的UI行爲。 –