Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > предзагрузка картинок. Возможно такое?


Автор: krulik 9.4.2006, 12:54
Итак суть вот в чем. Рассказываю на конкретном примере. Вот на этой страничке встроил календарь http://krulik.jino-net.ru/index.php?param=2 .Настроил подсебя его. Все устраевает в работе календаря но есть одно но. И это но мне сильно не нравится. В оформлении календаря используются рисунки которые начинаю подгружаться только тогда когда юзер нажмет на кнопку возле поля ДАТА. Получается не красивый эффект с прозрачным календарем который начинает потихоньку подгружать свои рисунки.

Теперь вопрос можно ли после загрузки основной страницы незаметно подгрузить рисунки нужные календарю? Тобишь получиться что когда юзр нажмет на кнопку он увидит на экране полноценное окно.

Спасибо за внимание.

Автор: Ciber SLasH 9.4.2006, 13:34
Вот, в качестве примера:
Код

<html>
<head>
<script type='text/javascript'>
pics = [];

pics['BActive'] = new Image();
pics['BActive'].src = 'BannerActive.gif';

pics['BPassive'] = new Image();
pics['BPassive'].src = 'BannerPassive.gif';

pics['BPushed'] = new Image();
pics['BPushed'].src = 'BannerPushed.gif';
</script>
</head>

<body>
<a href='JavaScript: void(0)' onMouseOver="this.children[0].src = pics['BActive'].src" onMouseOut="this.children[0].src = pics['BPassive'].src" onMouseDown="this.children[0].src = pics['BPushed'].src" onMouseUp="this.children[0].src = pics['BActive'].src"><img src=BannerPassive.gif width=88 height=31 border=0></a>
</body>
</html>

Автор: krulik 9.4.2006, 13:42
Ciber SLasH все работает! Ща только разберусь кто такие эти дети smile И останетсь только малек разобраться в коде календаря . Там всего какихто 1000 с лишним строк кода.

Еще раз спасибо!

Автор: Pena 21.9.2007, 11:52
А как это "зацыклить" - вот у меня есть к примеру 50 картинок - не под каждую же мне две строчки писать =( как?..

Автор: KuZyagroup 7.12.2007, 22:53
Цитата

А как это "зацыклить" - вот у меня есть к примеру 50 картинок - не под каждую же мне две строчки писать =( как?..

Да прибудет с тобой пхп
Код

for($i=0;$i<50;$i++)
{

    echo "pics['BActive'] = new Image();\n";
    echo "pics['BActive'].src = 'Banner".$i.".gif';"
}

П.С. А как можно узнать размер рисунка который мы загрузили?

Автор: Валерия 9.12.2007, 04:33
Имхо, самый простой способ презагрузки - вывести картинки в уменьшенном размере 0 на 0 smile

Автор: KuZyagroup 9.12.2007, 07:21
2Валерия:
ага и если у тебя 3 метра рисунков, пусть пользователь их получит, даже если ему не нужен не один ))

Автор: SelenIT 9.12.2007, 09:07
KuZyagroup, а чем вариант с прегенерацией толпы объектов Image в этом плане лучше? smile 

Автор: smartov 9.12.2007, 17:29
Валерия, помнится раньше опера подобные картинки просто не грузила

Автор: KuZyagroup 9.12.2007, 17:55
2SelenITЭмммм, подловил smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)