Интерфейс скользящей вкладки Javascript / Jquery: сворачивать вкладку при нажатии за пределами вкладки - PullRequest
0 голосов
/ 26 июля 2010

Я создаю пользовательский интерфейс. Когда пользователь нажимает на вкладку, запускается функция, которая проверяет другие открытые вкладки (путем поиска класса «max»), минимизирует эту вкладку, затем максимизирует нажатую вкладку и применяет класс «max». Я хочу, чтобы она работала таким образом, чтобы она минимизировала вкладку, если я щелкну в другом месте документа. Есть идеи?

    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)})

1 Ответ

0 голосов
/ 27 июля 2010

Вы можете поместить событие click в тег BODY, когда кто-то нажимает на тело, он выполнит код:

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