Jquery оживить проблему - PullRequest
       11

Jquery оживить проблему

0 голосов
/ 27 марта 2009

У меня самые странные проблемы. У меня есть функция jQuery, которая анимирует панели результатов опроса.

function displayResults()  { 
    $(".q_answers1 div").each(function(){
        var percentage = $(this).next().text();
        $(this).css({width: "0%"}).animate({
            width: percentage}, 'slow');
    });
}

Как вы можете видеть, это простая анимация, которая удлиняет пару делений. Он работает нормально, пока я не вставлю его на свою главную страницу. Кажется, проблема в том, что слишком много ДРУГОГО контента, который нарушает красоту плавной анимации. Я думал о том, что я неэффективен в реализации JavaScript, CSS и т. Д., Но после пары тестов и обратного инжиниринга я обнаружил, что БОЛЬШЕ СОДЕРЖИМОГО (изображения, текст, видео) У меня есть страница, а главное - качество АНИМАЦИЯ ЕСТЬ. Я могу только догадываться, в чем причина ... Мне очень нравится моя анимация :)! Ценю помощь!

Эта демонстрация показывает, как она должна выглядеть. Я работаю так, когда на странице меньше контента. Под плохим качеством я подразумеваю не плавный ход баров. Наихудший случай, когда столбцы появляются в своей окончательной ширине в одно мгновение. Тестировали их на Mozilla, Chrome и IE7 - без разницы.


Редактировать: Кажется, что без реальных примеров ваши руки связаны, поэтому здесь есть над чем поработать. Просто найдите красную рамку, выберите один ответ и нажмите кнопку. Язык болгарский, если вам интересно.

  1. Желаемое поведение здесь
  2. Я могу жить с этим здесь
  3. начинает выглядеть странно здесь
  4. Я не понимаю здесь

Если все они выглядят одинаково для вас, то виноват мой компьютер, и мне больше не нужно беспокоиться об этой конкретной проблеме, которая уже заняла 2 много времени. Если возможно, используйте Mozilla.


Edit 2: Я нашел этот SO ответ , который отвечает на некоторые мои вопросы о функции animate() и о том, как она работает, но проблема остается нерешенной, по крайней мере, для меня компьютер.

Ответы [ 2 ]

2 голосов
/ 28 марта 2009

Сколько контента мы говорим здесь? Если страница достаточно велика, движок браузера может просто не обладать достаточной мощностью, чтобы перерисовать содержимое достаточно быстро для обеспечения плавного отображения.

1 голос
/ 28 марта 2009

Способ, которым jQuery выполняет анимацию, заключается в том, что он периодически обновляет встроенные атрибуты CSS. Если элементы, стиль которых вы изменяете, плавают или имеют другие сложные взаимодействия с другими элементами на странице, анимация не будет гладкой.

Короче говоря, размещайте меньше материалов на своей странице. Вы также можете попробовать какое-нибудь решение iFrame или переключиться на использование флэш-памяти для отображения результатов.

К сожалению, это всего лишь ограничение системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...