Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Загрузка картинок в var (или в кеш) (https://javascript.ru/forum/dom-window/14525-zagruzka-kartinok-v-var-ili-v-kesh.html)

yashka525 20.01.2011 04:14

Загрузка картинок в var (или в кеш)
 
function loaded(){
document.getElementById('loader').style.display = "none";
document.getElementById('content').style.display = "block";
};

<body onload="loaded()"> 
	<div id="loader"> 
	Загрузка изображений...
	</div>
<div id="content" style="display:none;"></div>

Проблема такая: когда пользователь заходит на сайт, он видит некрасиво загружающеюся картинки (ну, так сползают вниз). Вот, я нахимичил:-? и теперь время загрузки показывается <div id="loader">, потом он прячется и половина изображений уже загружено, чему я рад. НО другая половина все еще "ползет". Я хочу чтоб скрипт как-то проверял, все ли загружено, а потом уже прятал loader и показывал content.:help:
~~~~~~~
Ура!!! Короче, я решил проблему сам.... Вот:
function loaded(){
img = new Image();
image_url = new Array();
      image_url[0] = "http://vestnikistiny.info/images/backtgrnd.png";
      image_url[1] = "http://vestnikistiny.info/images/top.png";
      image_url[2] = "http://vestnikistiny.info/images/mid.png";
      image_url[3] = "http://vestnikistiny.info/images/bot.png";

       var i = 0;
       for(i=0; i<=3; i++) 
         img.src = image_url[i];	
if(img.complete){
document.getElementById('loader').style.display = "none";
document.getElementById('content').style.display = "block";
}else{
setTimeout("loaded()", 10)
}
}

x-yuri 20.01.2011 06:55

а можно глянуть на сползающие картинки?

yashka525 20.01.2011 07:40

Цитата:

Сообщение от x-yuri (Сообщение 88788)
а можно глянуть на сползающие картинки?

Конечно :)
http://vestnikistiny.info/ :thanks:
только мне помочь надо, а не смотреть на картинки :D

dmitriymar 20.01.2011 10:36

размер картинок уменьши.

Aetae 20.01.2011 15:44

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

yashka525 20.01.2011 20:55

Окей, я понял что надо картинки поменьше, но все-таки, как проверить, все ли картинки загружены? Вот еще код, но он не работает...
if (document.images)
    {
      preload_image_object = new Image();
      image_url = new Array();
      image_url[0] = "http://mydomain.com/image0.gif";
      image_url[1] = "http://mydomain.com/image1.gif";
      image_url[2] = "http://mydomain.com/image2.gif";
      image_url[3] = "http://mydomain.com/image3.gif";

       var i = 0;
       for(i=0; i<=3; i++) 
         preload_image_object.src = image_url[i];
    }

А че дальше делать? мне надо потом
document.getElementById('loader').style.display = "none";
document.getElementById('content').style.display = "block";

а как их совместить? как понять, загружены ли ВСЕ картинки??? Пожалуйста!! Пипл!! Хелп!!!

dmitriymar 20.01.2011 23:56

почитай предзагрузка изображений и все вопросы отпадут

x-yuri 21.01.2011 08:25

кто бы сомневался, вместо того, чтобы решить проблему, ты придумал костыль...

yashka525 21.01.2011 08:29

Цитата:

Сообщение от x-yuri (Сообщение 88980)
кто бы сомневался, вместо того, чтобы решить проблему, ты придумал костыль...

да ладно, все уже проехали, я, короче, уже совершенно другой дизайн продумываю!:) ;) :yes:


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