ПРедварительная загрузка изображений
Например есть кнопка, при маусоут/маусовер сменяется её CRC. Если просто писать путь, то она начинает грузиться токо при выполнении события.
Можно посредством ЯваСкрипта предварительно записать картинки в массив, а потом создать массив содержимого т.е. объектов IMAGE. А потом уже в событиях майсовер/оут прописывать в CRC этот объект.
imag = new Array(
"img/splash-enter-a.gif",
"img/splash-exit-a.gif");
im = new Array();
for (var i = 0; i < imag.length; i++) {
im = new Image();
im.src = imag;
}
А потом в ссылке вызывать типа onMouseover='this.img.crc=im[1];'
Только вот неудобно с этими индексами работать. Есть ли более красивое решение?
А когда предзагружаемых картинок немного, можно просто впихнуть их куда-нибудь повыше и поставить width и height равным 1 - это тоже работает, и без всякого JavaScript'а
Цитата:
Originally posted by willwin
... можно просто впихнуть их куда-нибудь повыше и поставить width и height равным 1 ...
... можно просто впихнуть их куда-нибудь повыше и поставить width и height равным 1 ...
Кроме того что надо изменить ширину и длину картинки надо еще ей поставить style="display:none" , иначе картинка остается все-равно заметной (квадратик 1х1 пиксел).
Цитата:
Originally posted by Rat
imag = new Array(
"img/splash-enter-a.gif",
"img/splash-exit-a.gif");
im = new Array();
for (var i = 0; i < imag.length; i++) {
im = new Image();
im.src = imag;
}
Только вот неудобно с этими индексами работать. Есть ли более красивое решение?
imag = new Array(
"img/splash-enter-a.gif",
"img/splash-exit-a.gif");
im = new Array();
for (var i = 0; i < imag.length; i++) {
im = new Image();
im.src = imag;
}
Только вот неудобно с этими индексами работать. Есть ли более красивое решение?
а кто сказал что обязательно с числовыми индексами работать?
Код:
imag = new Array(
"img/splash-enter-a.gif",
"img/splash-exit-a.gif");
im = new Array();
for (name in imag)
{
im[name] = new Image();
im[name].src = name;
}
"img/splash-enter-a.gif",
"img/splash-exit-a.gif");
im = new Array();
for (name in imag)
{
im[name] = new Image();
im[name].src = name;
}