2010-07-25 18 views
0

Je construis une interface utilisateur. Lorsqu'un utilisateur clique sur un onglet, une fonction est activée qui vérifie les autres onglets ouverts (en recherchant une classe, "max"), minimise cet onglet, puis maximise l'onglet cliqué et applique la classe "max". Je veux le faire fonctionner de telle sorte qu'il minimisera l'onglet si je clique ailleurs sur le document. Des idées?Interface de l'onglet glissant Javascript/Jquery: réduire l'onglet lorsque vous cliquez en dehors de l'onglet

function resize_tab(t) { 
     tab = $(t).parent() 
     console.log(tab); 
     var size = 0 - parseFloat($(".max").css("height")) + 30; 
     function resize(what,size){ 
      $(what).animate({"marginTop" : size},500,function(){}).toggleClass("max") 
      } 
     if ($(tab).hasClass("max")){ //if what you clicked is maxed... 
      resize(tab,size);   //minimize it 
      }else{      //Or else, minimize whatever is maxed... 
       resize($(".max"),size); //minimize whatever is maxed 
       resize(tab,-1);  //and maximize what you clicked. 
     } 
    }   

    $(".tab").click(function(){resize_tab(this)}) 

Répondre

0

Vous pouvez mettre un événement cliquez sur la balise BODY, lorsque quelqu'un clique sur le corps, il exécutera le code:

$("body").click(function(){ 
    $(".tab").removeClass("max"); 
    //other resizing code as needed 
})