|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » JavaScript - PRELOAD IMAGE |
|
JavaScript - PRELOAD IMAGE
|
Пользователь Сообщения: 50 |
Профиль | Отправить PM | Цитировать В IE есть прекрасные фильтры с разнообразными эфектами вывода картинок.
Но вот проблема - я загружаю картинку посредством заброса кода во фрейм. (использую parent.NameFrame.document.write('код страницы') И все бы ничего но когда забрасываешь Код таким образом то событие onLoad не срабатывает! А мне всего то нужно что бы в скрипте подгружалась картинка в КЕШ и что-бы можно быо определить что вот она загрузилась и только тогда запускать какую то функцию! Кто знает как это сделать? |
|
------- Отправлено: 13:38, 24-05-2004 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать 1 вариант: поискать по форуму, так как эта тема много раз обсуждалась
2 вариант: лови код <html> <head> <script language="JavaScript"> names = new Array ("1.gif","2.gif"); Создаём массив и записываем в него список всех картинок, которые мы будем использовать. tmp = new Array (); Создаём ещё один, временный массив. for (i in names) { Пробегаем все элементы массива. tmp[i] = new Image(); tmp[i].src = names[i]; Загружаем наши картинки. } </script> </head> <body> <img src="1.gif" onMouseOver="src='2.gif'" onMouseOut="src='1.gif'"> Создаём картинку и говорим, что при наведении на неё мышки (onMouseOver) будет меняться картинка, а при отведении (onMouseOut) будет возвращена старая картинка. </body> </html> |
------- Отправлено: 15:06, 24-05-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 50
|
Профиль | Отправить PM | Цитировать Что ж доходчивый вариант скрипта с прелоадом, НО!
Дело в том что мне нужно точно знать что картинка уже загружена полностью в переменную и в соответствии с этим запускать функцию! В любом случаи спасибо! Однако вопрос все еще открыт) С Уважением Искатель! |
------- Отправлено: 12:12, 25-05-2004 | #3 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Iskatell
Посмотри на массив names, насколько я понимаю, это и есть переменная со всеми загружеными картинками, а то что они уже в кеше я тебе 100% даю В крайнем случае создай ещё переменных, которые будут содержать эти картинки, в любом случае после этой функции картинки будут в кэше, а там уж какая переменная ими управляет, это не так важно |
------- Отправлено: 14:03, 25-05-2004 | #4 |
Пользователь Сообщения: 50
|
Профиль | Отправить PM | Цитировать Да я все это понимаю но не все так просто.
Как только ты назначаешь какой то графический объект какой то переменной то на сколько я это понимаю - этот объект начинает грузится в память а программа спокойненько продолжает работать дальше. Но ведь картинка может быть большой грузится секунд 20. так вот мне надо определить конец загрузки картинки и только тогда давать программе работать дальше. |
|
------- Отправлено: 16:57, 25-05-2004 | #5 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать вообще я не очень понимаю, как ты хочешь загрузить картинку в переменную??? ты можешь переменной передать только адрес где лежит картинка, чтобы потом её вставлять
Зачем вообще нужно картинку какой то переменной передавать??? Пойми функция, которую я написал, она будет идти пока не загрузятся все картинки, то есть если у тебя картинки большие, код, следующий за этой функцией, не будет грузится, пока вся функция не пробежит, я не понимаю, что тебе ещё нужно, то есть, всё, что идёт дальше, будет грузится только когда все картинки загрузятся, поэтому подобные функции и пихают в тэг <head>, чтобы они исполнялись до загрузки сайта Цитата:
|
|
------- Отправлено: 00:08, 26-05-2004 | #6 |
Пользователь Сообщения: 50
|
Профиль | Отправить PM | Цитировать Дело в том что страница в каторой сменяются картинки сама не перегружается! Смена картинки происходит методом смены свойств обьекта IMAGES:
parent.fview.document.images['photo'].src = 'pic.jpg' Как видно присвоение происходит из другого фрейма. В этом же фрейме (назовем его коммандным) И должен происходить PRELOAD картинки. Какой имено за ранее не известно! Получается вот что: tmp = new Image(); //формируется переменная tmp.src = 'pic.jpg' // в нее заносится имя картинки /* вот в этом месте мне нужно проверку того что картинка полностью загружена с сервера в КЕШ!!!!!!!!!!!!!!!!!!!!!*/ /*иначе так и недождавшись окончания загрузки картинки в КЕШ происходит ее вставка в еще не загруженом состоянии!*/ parent.fview.document.images['photo'].src = 'pic.jpg' parent.fview.doTrans(effekt); Возможно я непонятно излагаю. За что и извеняюсь |
------- Отправлено: 10:48, 01-06-2004 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
FastStone Image Viewer | wolkow70 | Автоматическая установка приложений | 230 | 12-11-2023 15:03 | |
Image Watermarks 1.5 | OSZone Software | Новости программного обеспечения | 0 | 13-12-2009 11:30 | |
Bulk Image Downloader 2.20.0.1 | OSZone Software | Новости программного обеспечения | 0 | 31-10-2009 13:30 | |
Drive Image 4.0 | Guest | Хочу все знать | 3 | 17-01-2004 17:26 | |
Drive image | Guest | Хочу все знать | 10 | 04-10-2003 10:13 |
|