Смотрите эту страницу:
http://users.telenet.be/prullen/popup/test.html
Весь код помещен в документ HTML для целей тестирования.
Я тестировал до Firefox 10, он немного улучшился, но по-прежнему работает не очень гладко по сравнению с Safari / Chrome.
Нажмите на миниатюру, чтобы открыть всплывающий лайтбокс. Нажмите на правую сторону открытого всплывающего окна, чтобы перейти к следующему изображению. Должны быть кнопки интерфейса (далее / предыдущий и т. Д.), Но я не загружал их для этого теста.
Медленные анимации: 1) открытие, б) перекрестное затухание изображений при переходе к следующему изображению.
У кого-нибудь есть идеи по исправлению? Скрипт всплывающих окон очень сложен. Я пробовал выполнять профилирование с помощью инструментов Chrome, а также Firebug, но я многому от этого не научился, поскольку большую часть времени проводил в «анонимных» функциях.
Анимация открытия выполняется следующим образом:
popup.stop(true, true).animate(popupPosition, (firstImage || hide ? options.oS : resizeTime), function() { isAnimating = false; callback() } );
popupPosition содержит 4 свойства для анимации; ширина, высота, слева и сверху.
Это вызывается из функции resizePopup (которая, в свою очередь, вызывается из changeMedia).
Максимальное значение ширины / высоты изображения составляет 800 пикселей.
Я пытался удалить кусочки из этого базового кода, чтобы попытаться выяснить, в чем может быть причина, но до сих пор это не сильно помогло мне.
Я также пытался изменить jQuery.fx.interval на 50, но, опять же, особой разницы нет.
Я также проверил бета-версию Firefox 11, и похоже, что это не улучшит ситуацию.
Спасибо за вашу помощь.