Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Слишком большая очередь анимации


Автор: WebMast 20.2.2010, 15:46
Люди.. Есть вот такой код:
Код

var speed = 300;
  $('#logo img').hover(function show(){
    if( $('#logo').offset().top==191 && $('.forLogoHover').css({display:'block'}) ){
      $('.forLogoHover').animate({top:'0',marginTop:'30px'}, speed);
      $('#logo').animate({top:'0',marginTop:'20px'}, speed, function(){
        $('.forLogoHover span').css({display:'none'});
        $('#message').animate({opacity:'show'}, 400, function(){
          $('.mHide').hover(function(){
            $('.mHideText').show();
            $(this).click(function(){
              $('#message').animate({opacity:'hide'}, 300, function(){
                $('#logo').animate({top:'40%',marginTop:'-150px'}, speed, function(){
                  $('.forLogoHover span').css({display:'block'});
                });
                $('.glugInLogo').animate({opacity:'hide'}, 300);
              });
            });
          }, function(){
            $('.mHideText').animate({opacity:'hide'}, 200);
          });
        });
      });
      $('.glugInLogo').animate({opacity:'show'}, 300);
    }
  });

Пример: http://bitby.net/wp-demo/evgen/GLUG/

При многократных hover, записывается большая очередь анимации и центральный блок выдвигается с паузой (для сравнения с надписью GLUG). Нужно как-то решить эту проблему..

Автор: 12345c 20.2.2010, 16:39
Цитата

 урезать очередь анимации
queue(), queue(queue) из документации; примеры там же. 
http://jqapi.com/#p=queue
http://jqapi.com/#p=jQuery.queue

Автор: WebMast 20.2.2010, 19:40
12345c, спасибо вам большое : ). А вообще я бы хотел узнать, я вообще в программировании почти ноль, какой стиль для программирования на jQuery самый приемлемый?

Автор: 12345c 20.2.2010, 23:58
Вопрос обширный, я не могу считать себя экспертом в рекомендациях.
В jQuery можно использовать $.each(массив, function) для работы с массивами и $().each() для работы с выборками, что сильно повышает понятность кода.
Вообще, современный стиль настоятельно следует изучать по фрагментам кода популярных плагинов и библиотек - в них сам подход заставляет писать "правильно". Не смотреть на учебники с короткими примерами стиля до 2006 года.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)