2012-05-10 3 views
0

У меня есть функция щелчка, которая выполняется, потому что fadeToggles работают. Но div # overlay-sources, которые я пытаюсь оживить, не анимируется. Я установил для него высоту 0px, а затем она должна быть анимирована до 480 пикселей. Анимация сама по себе работает, я тестировал ее вне функции переключения. Но так или иначе функция переключения не выполняется.Toggle не исполняется

$("#button-up").click(function(){ 
    $("#overlay-sources").toggle(
     function() 
     { 
      $(this).animate({height: "480px"}, 500); 
     }, 
     function() 
     { 
      $(this).animate({height: "0px"}, 500); 
     }); 

    $("#overlay-sources").fadeToggle('fast'); 
    $("#blackout").fadeToggle('fast'); 
}); 

ответ

0

Это то, что мне нужно.

$("#button-up").toggle(
    function() 
    { 
     $("#overlay-sources").animate({top: "141px"}, 500); 
     $("#blackout").fadeToggle('fast'); 
    }, 
    function() 
    { 
     $("#overlay-sources").animate({top: "690px"}, 500); 
     $("#blackout").fadeToggle('fast'); 
    } 
); 
0

Если вы не против jQueryUI, или уже включили его, что вся верхняя часть:

$("#overlay-sources").toggle(
     function() 
     { 
      $(this).animate({height: "480px"}, 500); 
     }, 
     function() 
     { 
      $(this).animate({height: "0px"}, 500); 
     }); 

становится:

$("#overlay-sources").slideToggle(500);

Но не CSS высота до 0, просто display:none, и функция будет обрабатывать анимацию высоты.

EDIT

Я извиняюсь, я ошибся. Похоже, что slideToggle является частью основной библиотеки jQuery и не требует jQuery UI

+0

Спасибо. Есть ли способ заставить его сползать вниз, а не вверх? – Veltar

+0

В каком отношении? По умолчанию он скользит вниз, чтобы выявить и докрыть –

+0

Да, мне нужно это наоборот, так что спуститесь вниз, чтобы скрыть, до раскрытия. – Veltar

Смежные вопросы