Прелоад изображений
можно ли сделать прелоадер изображений без добавления их в документ как узлов.. т.е.
var img = document.createElement('img'); без document.body.appendChild(img); вариант первый, проверять свойство img.complete в цикле, работает только в мозилле (хотя раньше использовал, а что в других браузерах неработает заметил тока щасс) второй вариант img.onload неработает вроди нигде |
А чем они в документе помешали?
|
их в документе нет изначально, они создаються потом вставляються в документ, просто в ie при динамической вставке картинки сначала показывает битое изображение пока не загрузиться, ну и для других действий типа анимации надо дождаться полной загрузки. Из ответа следует что надо обязательно вставить в документ, visibility:hidden или opacity:0 или куданибудь где невидно, только потом можно проверять onload или complete? может еще както можно? заранее спасиб за ответ
|
Цитата:
|
"Обычно, просто задают отрицательные координаты." я раньше так и делал, но потом опять создавал document.createElement('img'); чтобы вставить в нужное место, но вот заметил что ie заного грузить пытаеться, следущий вопрос написал немного раннее, там какраз это описано..
еще вопросик, вот странно, когда я загружаю таким способом правильным, т.е. вставляю в документ, var img = document.createElement('img'); img.onload = func; img.src = 'src'; document.body.appendChild(img); но пока я вставил картинку в левое место, чтобы просто проверить на загрузку потом убежден что она уже прокеширована браузером опять: var img = document.createElement('img'); нужный_элемент.appendChild(img); експлорер все равно показывает битую картинку сначало) значит для оптимальyого варианта нужно этот этот узел из document.body с помощь cloneNode копировать или прокатит вот так? var img = document.createElement('img'); img.onload = function () {нужный_элемент.appendChild(img);}; img.src = 'src'; document.body.appendChild(img); |
Цитата:
Цитата:
|
у меня по свойству complete проверялось, размеры картинки не пересчитываються, вобщем я понял что для норм загрузки нужно либо вставлять в нужный элемент и делать невидимым, или перемещать по дереву в нужное место после загрузки, но не создавать заново эту картинку с помощью document.createElement.. пасибо
|
Часовой пояс GMT +3, время: 00:02. |