Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Предварительная загрузка изображений
 
 автор: ExtraBrain   (25.08.2006 в 18:34)   письмо автору
 
 

[CODE]
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script>
function MM_preloadImages()
{
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function ChangeIm(n) {
var obj=document.getElementById('im1');
obj.src=document.MM_p[n].src;
}
</script>
</head>
<body onLoad="MM_preloadImages('BB.gif','BK.gif','BN.gif','BP.gif','BQ.gif','BR.gif')">

<img id="im1" src="BK.gif" onClick="this.src=document.MM_p[0].src">
<br>
<input type="button" value="0" onClick="ChangeIm(0)">
<input type="button" value="1" onClick="ChangeIm(1)">
<input type="button" value="2" onClick="ChangeIm(2)">
<input type="button" value="3" onClick="ChangeIm(3)">
<input type="button" value="4" onClick="ChangeIm(4)">
<input type="button" value="5" onClick="ChangeIm(5)">
</body>
</html>

[/CODE]

По идее все картинки должны предварительно загрузится в броузер. НО, меня смущает что нажимая на кнопочки я вижу как идёт обращение к инету и картинки сменяются не так быстро как хотелось бы, я ведь на диалапе сижу. Можете сами посмотреть по ссылке.

www.extrabrain.kiev.ua/001/preload.htm

Может чего не так здесь obj.src=document.MM_p[n].src; ? Но я пробовал obj=document.MM_p[n] - вообще ничего не показывает.

Так как быть? Или так и должно быть?

   
 
 автор: 12345   (25.08.2006 в 23:52)   письмо автору
 
   для: ExtraBrain   (25.08.2006 в 18:34)
 

По коду всё правильно. Проверил на (своём) удалённом сервере в IE - предзагружается. В Вашем браузере не отключено ли кеширование случайно?

   
 
 автор: ExtraBrain   (26.08.2006 в 10:25)   письмо автору
 
   для: 12345   (25.08.2006 в 23:52)
 

Спасибо. Выставил в настройках IE "Проверять наличие обновления сохранённых страниц" - "Автоматически" и заработало. Раньше стояло -"При каждом посещении страницы". Но мне кажется что при таких настройках и без предзагрузки после того как хотя бы один раз картинку показать то она уже будет показываться в дальнейшем быстро. Как бы отпадает необходимость в предзагрузке. А ведь хочется чтобы всегда работала предзагрузка не зависимо от настроек обозревателя у пользователя (как в моём случае до перенастройки). Я думаю что подойдёт способ показать сначала все картинки в одном месте, одна поверх другой, потом все их попрятать(hidden) и потом показывать в нужный момент и в нужном месте. Что скажете?

   
 
 автор: 12345   (26.08.2006 в 12:36)   письмо автору
 
   для: ExtraBrain   (26.08.2006 в 10:25)
 

По идее, это одно и то же. Проверьте, может, окажется не одно и то же. И способ с visibility:hidden. По умолчанию у IE кеширование до выключения окна бр-ра, поэтому сойдёт стандартный способ (на JS), остальное - проблемы настройщика.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования