Прелоад изображений
можно ли сделать прелоадер изображений без добавления их в документ как узлов.. т.е.
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, время: 19:37. |