Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вопрос по объекту Image (https://javascript.ru/forum/dom-window/21519-vopros-po-obektu-image.html)

Genius 13.09.2011 14:17

Вопрос по объекту Image
 
Подскажите, пожалуйста, кто в курсе, как работает свойство complete у объекта Image при загрузке графики в память браузера. Хочется сделать "песочные часы", пока картинка грузится и пользователь ждёт, но что-то не работает...

Сваял такой нехитрый код:
var im = new Image (w, h);
im.src = "image.jpg";
do
   {
         //здесь вывод картинки ожидания
   }
while (im.complete==false);


но не работает, это свойство почему-то всегда значит false :(

Kolyaj 13.09.2011 14:18

Таким кодом вы просто вешаете браузер. У картинки есть событие load.

Genius 14.09.2011 00:09

Да нет, всё-таки путь к решению оказался через свойство complete, но использовать его нужно по другому, нежели в приведённом выше примере...

Sweet 14.09.2011 01:19

Да нет, всё-таки путь к решению событие load:) Если ты по таймауту проверяешь .complete, то огорчю: это криво.

Genius 14.09.2011 08:56

Sweet, всё нормально работает.

Криво - имеешь в виду, на разных браузерах?

Kolyaj 14.09.2011 10:27

Криво, он имеет в виду через жопу. Зачем эмулировать существующее событие?

Genius 14.09.2011 19:43

Другой вопрос: как наряду с песочными часами отображать ещё и проценты загрузки картинки?

Андрей38 14.09.2011 22:47

Цитата:

Сообщение от Genius (Сообщение 126275)
Подскажите, пожалуйста, кто в курсе, как работает свойство complete у объекта Image при загрузке графики в память браузера. Хочется сделать "песочные часы", пока картинка грузится и пользователь ждёт, но что-то не работает...

Сваял такой нехитрый код:
var im = new Image (w, h);
im.src = "image.jpg";
do
   {
         //здесь вывод картинки ожидания
   }
while (im.complete==false);


но не работает, это свойство почему-то всегда значит false :(

Показывай песочные часы в ЛОАД как уже говорили,и прячь по окончании анимации загруженной картинки _типа _ИМИДЖ_хайд().шов(220, функция(){ $(песочный гиф).хайд() } ) Это на Квери в моей редакции

И вот что важно. http://noteskeeper.ru/35/ Этот лоад вызывает ВСЕГДА,а не только РАЗ

belezbar 11.02.2012 22:06

Цитата:

но не работает, это свойство почему-то всегда значит false
Здесь кое-что на эту тему: complete-property-internet-explorer.html


Часовой пояс GMT +3, время: 11:13.