jQuery, упрощающий анимацию окна, прокручивает в Firefox (ошибка или мое плохое?)

ПРИМЕР
Прежде всего вот мой код и проблема:
http://www.nathanstpierre.com/MBX/showoff.html

ПРОБЛЕМА
Таким образом, то, что я вижу, - когда Вы нажимаете кнопки слева, окно прокручивает к соответствующему заголовку. В каждом браузере, но Firefox (включая... Удушье IE), это очень гладко. Однако при сокращении высоты окна это становится гладким на всех компьютерах. Я уже попробовал это на нескольких компьютерах и на IE 7-8, Google Chrome, Safari и Firefox 3.5. Я устранил каждый бит графических и цвета на странице, таким образом, это не проблема. Я избавился от боковой панели, которая следует за Вами, это не она.

ТЕОРИЯ
Я думаю, что jQuery, упрощающий плагин, вычисляет расстояние, что необходимо пойти, и затем делит число пикселей, которые это должно переместить на единицу указанной продолжительности (скажите что 300 пикселей более чем 30 миллисекунд, таким образом, 10px/ms). Любой браузер, кажется, может сделать это плавным переходом, но возможно гранулярность, обеспеченная событием прокрутки окна, не сжата достаточно, чтобы Firefox заставил это казаться гладким? Или возможно я использую неправильный плагин упрощения или неправильные настройки.

КОД

$("#sidenav a").click(function () {
        $("#sidenav a").animate({'color':'#6d6d6d'},{"duration":400});
        $(this).animate({"color":"#fff"},{"duration":400});
        clicktarget=$(this).attr("href");
        $("html, body").animate({scrollTop: $(clicktarget).offset().top},{"duration":300,"easing":"easeout"});
        return false;
      });

ЛОГИКА

Добавьте слушателя события каждого тег на sidenav onClick. Это получит смещение () .top элемента в документе с тем же идентификатором как href атрибут той ссылки и затем анимирует от текущего scrollTop до смещения () .top того элемента. Логика является здравой, и работает гладко в каждом браузере КРОМЕ Firefox... насколько я могу сказать.

ПРОСЬБА

Что я делаю неправильно? Действительно ли это - ошибка?

Спасибо!

ОБНОВЛЕНИЕ

Хорошо я не могу в хорошей совести выбирать любой из ответов, представленных здесь, поскольку ни один из них на самом деле не дал разрешение проблеме, поэтому если Вы будете следовать за этим выбором, то Ваш фаворит и щедрость перейдут к той с самыми высокими голосами.

Проблема, кажется, способ, которым Firefox a) представляет прозрачность и b) имеет дело с прокруткой событий. Потенциально с достаточным питанием процессора это - надуманный вопрос, но что делает меня грустным, то, что IE (всех браузеров) способен к рендерингу этого штрафа на нижних аппаратных средствах. Я буду приближаться к Mozilla с проблемой и видеть, есть ли у них что-нибудь для высказывания об этом.

Для дополнительного наставления следующее обеспечивается бесплатно:

С прозрачностью
Без прозрачности

Править: Таким образом, на вопрос ответили, но теперь я не могу выбрать его. Кто-либо знает то, что произошло с этим?

ЗАКЛЮЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ Достаточно времени передало это, они позволяют мне иметь щедрость назад, таким образом, я выбрал ответ, который был корректен. Это похоже на тень поля, и несколько других эффектов вызывают некоторые проблемы прокрутки в Firefox из-за способа, которым они представляют. FF 4.0 + обрабатывает это лучше, но некоторые компьютеры все еще имеют проблемы. Это - великое головы для людей, реализующих CSS3: протестируйте взаимодействие на всех браузерах и посмотрите, допустимы ли затраты на производительность.

5
задан NateDSaint 7 June 2011 в 17:01
поделиться

5 ответов

Низкая производительность, по-видимому, вызвана свойством -moz-box-shadow , если вы удалите любые объявления этого свойства ( или отключите их с помощью Firebug) анимация прокрутки стала более плавной.

4
ответ дан 14 December 2019 в 08:51
поделиться

Ваша страница немного тяжелая с двумя фонами (одна из которых является прозрачным .png ..)

. Эта проблема с Firefox и / или машина, обрабатывая анимацию. Проверьте гладкую опцию прокрутки Firefox ( инструментов -> Опции -> Advanced -> General -> Используйте плавную прокрутку ). Это может быть причиной, если она будет выключена ...

1
ответ дан 14 December 2019 в 08:51
поделиться

Всякий раз, когда я попытался подобным эффекту, я использовал Scrollto. Может быть, это поможет

плагин Scrollto

0
ответ дан 14 December 2019 в 08:51
поделиться

Пожалуйста, попробуйте jQuery 1.4. Похоже, что это намного быстрее, чем jQuery 1.3.2.

Если вам нужно отладить такие вещи, поместите несжатые js файлы в ваш код и используйте Firebug с его профилем, чтобы профилировать функции.

2
ответ дан 14 December 2019 в 08:51
поделиться

У меня была такая же проблема с FF 3.5 - определенно похоже на проблему рендеринга. Если вы попробуете новую версию 3.6, она будет наверное ок.

Кстати, у меня были проблемы с doherty's coda slider 2.0.

С уважением

Андрей

0
ответ дан 14 December 2019 в 08:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: