2009-05-31 2 views
24

У меня есть этот JQuery:JQuery переключения анимации

$(document).ready(function() 
{ 
    $("#panel").hide(); 

    $('.login').toggle(
    function() 
    { 
     $('#panel').animate({ 
     height: "150", 
     padding:"20px 0", 
     backgroundColor:'#000000', 
     opacity:.8 
}, 500); 
    }, 
    function() 
    { 
     $('#panel').animate({ 
     height: "0", 
     padding:"0px 0", 
     opacity:.2 
     }, 500); 
    }); 
}); 

Это работает хорошо, но мне нужно, чтобы расширить функциональность немного. Я хочу также аналогичным образом манипулировать свойствами другого div в синхронизации с #panel div. Я попробовал добавить еще две функции, относящиеся к вторичному div, но я просто получил 4-фазный переключатель ... ха-ха! Простите мое невежество!

Спасибо, ребята!

+0

Почему вы не можете добавить код для управления этим вторым DIV в первых двух функциях? Я что-то упускаю? –

+0

Нет, мне это не хватало! Я jscript noob. –

ответ

49
$('.login').toggle(
    function(){ 
     $('#panel').animate({ 
      height: "150", 
      padding:"20px 0", 
      backgroundColor:'#000000', 
      opacity:.8 
     }, 500); 
     $('#otherdiv').animate({ 
      //otherdiv properties here 
     }, 500); 
    }, 
    function(){ 
     $('#panel').animate({ 
      height: "0", 
      padding:"0px 0", 
      opacity:.2 
     }, 500);  
     $('#otherdiv').animate({ 
      //otherdiv properties here 
     }, 500); 
}); 
+0

Ahh ... Не могу поверить, что я пропустил это! Большое спасибо! –

+2

Эта функция устарела с JQuery 1.8 и удалена в JQuery 1.9. http://api.jquery.com/toggle-event/#entry-longdesc – Xtrinity

6

Я не думаю, что добавление двух функций внутри функции переключения работает в случае зарегистрированного щелчка

Например (если я что-то не хватает):

$('.btnName').click(function() { 
top.$('#panel').toggle(function() { 
    $(this).animate({ 
    // style change 
    }, 500); 
    }, 
    function() { 
    $(this).animate({ 
    // style change back 
    }, 500); 
}); 
+1

Итак, что вы пытаетесь сказать? Я не думаю, что полезно дать код, который работает доцент, и сказать «О, это доцентная работа». опубликуйте реальное решение. – Dementic

+0

Я думаю, что полезно дать код, который работает доцент, и сказать «О, это доцентная работа». – Alireza

+0

Эта функция устарела с JQuery 1.8 и удалена в JQuery 1.9. http://api.jquery.com/toggle-event/#entry-longdesc – Xtrinity

-7
onmouseover="$('.play-detail').stop().animate({'height': '84px'},'300');" 

onmouseout="$('.play-detail').stop().animate({'height': '44px'},'300');" 

Просто положи две остановки - один onmouseover и один onmouseout.

+1

Использование встроенного JavaScript не является хорошим шаблоном. Если вы уже используете jQuery, используйте обработчики событий. – akluth

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