Отставание свойства jQuery Animate

Разработчики! Я разрабатываю рекламный веб-сайт, где домашняя страница и подстраницы находятся в одном индексе. Переход содержимого происходит по щелчку меню. Хорошо.

Иметь 4 подстраницы. Два слева и два справа. При нажатии на первый вариант слева, второй скрывается. При нажатии на второй вариант первый скрывается.

Здесь лучше видно: http://www.safiradigital.com.br/kennermusiclab/

Но у меня проблема с этим левым переходом .animate(). Слева направо иногда происходит большая задержка выполнения анимации.

Например, нажмите «O que é Music Lab?» и после этого нажмите «Inscrição». Вы видите большую задержку перехода тела.

У кого-нибудь есть решение, чтобы исправить эту ошибку задержки в .animate()?

My JS is:

$(".o-que-e").click(function() {
    $(".content-geral").animate({
        left: '195'
    },2700); // Durante 2700 milisegundos
    $(".videos-interna").hide();
    $(".o-que-e-interna").show();
}); // Finaliza o click

$(".galeria-videos").click(function() {
    $(".content-geral").animate({
        left: '195'
    },2700);
    $(".videos-interna").show();
    $(".o-que-e-interna").hide();
    }); // Finaliza o click

$(".inscricao").click(function() {
    $(".content-geral").animate({
        left: '-3986'
    },2700);
            $(".regulamento-interna").hide();
            $(".inscricao-interna").show();
});

$(".regulamento").click(function() {
    $(".content-geral").animate({
        left: '-3986'
    },2700);
    $(".inscricao-interna").hide();
    $(".regulamento-interna").show();
});

person Luiz Henrique    schedule 13.10.2011    source источник


Ответы (2)


я предполагаю, что у вас есть более одной ссылки с классом 'o-que-e'. ваш обработчик кликов вызывает их все. поэтому вы анимируете более одного раза для каждого клика. это может замедлить ход событий.

person Funky Dude    schedule 13.10.2011
comment
Хм... Понял. Я попробую вставить id. - person Luiz Henrique; 13.10.2011
comment
Нет, не это. =( Я вставляю каждому конкретный id, а лаги продолжаются. =/ Спасибо за ответ... - person Luiz Henrique; 13.10.2011
comment
вы изменили $(.o-que-e) на использование идентификатора? как $(#o-que-e-1) - person Funky Dude; 13.10.2011
comment
Да, я вставляю $(#1,#5,#9).click... Где #1 — это o-que-e из блока 1, №5 из блока 3 и №9 из последнего блока. - person Luiz Henrique; 13.10.2011
comment
ЮППИ!!!!! Ах, да! хахаха... Добавьте .stop() до того, как анимация исправит ошибку!!!!!!! Большое спасибо, чувак! =) Теперь все в порядке! \o/ Верит, спасибо, правда. Ты делаешь мой день лучше, прямо сейчас. хахахах И извините за мой плохой английский. - person Luiz Henrique; 13.10.2011

Здесь немного поздно, но когда вы работаете с большими областями (например, анимация элемента .inscricao слева -3986 пикселей), Chrome особенно страдает от задержек.

Посмотрите мой ответ здесь, и, возможно, он поможет: https://stackoverflow.com/a/15634773/2211053

person Gavin    schedule 26.03.2013