2010-02-11 2 views
0

У меня есть объект анимации додзё около 15 изображений. Я также использую dojo.fx.chain, чтобы связать их все вместе.Можете ли вы предварительно загрузить изображения в анимацию додзе

Прямо перед тем, как я создаю все свои дополнения dojo.fadeIn и dojo.fadeOut, я добавил в некоторый базовый javascript, чтобы предварительно загрузить каждое изображение.

Мой вопрос: Я делаю это трудным путем или есть какая-то функция/attr, которую я могу установить в объекте анимации для этого?

ответ

0

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

Я думаю, вы слушаете события image.onload и image.onerror для предварительной загрузки изображений, это распространенный метод. Если вы считаете, что это слишком сложно и трудно контролировать, вы можете попробовать простой чистый способ css, который должен поместить невидимый div на вашу страницу и установить фоновые изображения с этими анимационными изображениями. При загрузке страницы изображения автоматически загружаются.

0

dojo Анимации специально не ориентированы на изображения, они работают на абстрактном уровне и могут работать на узлах DOM. Таким образом, нет встроенной поддержки узлов IMG.

Существует dojox.image.preload (http://api.dojotoolkit.org/jsdoc/HEAD/dojox.image.preload), который будет делать работу virsir предложил погрузочные изображения в закадровый DIV, но это не (в настоящее время) организовать крюк для OnLoad событий обнаруживать, когда они загружены и таким образом воспроизводить анимацию.

Я предполагаю, что вы можете использовать возвращаемое значение preload() и использовать его для привязки к onLoad, но это упражнение для читателя. Посмотрите исходный код dojox/image/_base.js.

+0

Кстати, если вы хотите совершить цикл через несколько изображений, подумайте об использовании dojox.widget.Rotator вместо множества объектов dojo.Animation. См. Http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/widget/tests/test_Rotator.html, http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/widget/tests/test_RotatorController.html и, возможно, другие в этих каталогах тестов. Нижняя сторона заключается в том, что вы, как правило, должны фиксировать размер каждой панели с помощью css, например. style = "width: 100px; height: 200px;" или дать им общий класс, как это делают тесты, иначе они обрушиваются до нулевого размера. – Neek

Смежные вопросы