Форум администраторов игровых серверов

Полная версия: Предзагрузка картинки html
Вы просматриваете упрощённую версию нашего контента. Просмотр полной версии с полным форматированием.
Подскажите пожалуйста как можно заранее подгрузить картинку в html чтобы подгурзку не происходила например в момент наведения на ссылку(тоесть при смене картинки через a:hover).
Поместить эту же картинку в любое другое место, чтобы её не было заметно - она загрузится. Потом в hover появится сразу без загрузки.
Довольно просто, отказаться от <img> и устанавливать фон самой ссылке.

Создаёте картинку сразу с двумя вариантами отображения, например вот такую:

[Изображение: image.gif]

Немного css и html магии:


<style type="text/css">
a.hover {
background-image: url(image.gif);
display: block;
height: 30px;
width: 120px;
}

a.hover:hover {
background-position: bottom center; /* смещение в нижнюю часть нашей картинки*/
}
</style>

<a class="hover" href="http://forum.zone-game.info/showthread.php?t=14199"></a>



Пример — http://www.seomax.info/html/hover/
когдато писал такой скрипт jQuery (точный код уже не помню).
Код:
<body  onload="preloadImages()">

сама рпроцедура

function preloadImages() {
    $('img.preload').each(function(i, image) {
        $('<img />').attr('src', $(image).attr('src'));
    });

    // тут цикл по тегам, просматривая background-image и такимже образом обрабатывать рисунки
}
PROGRAMMATOR Написал:...
Создаёте картинку сразу с двумя вариантами отображения, например вот такую:

[Изображение: image.gif]

Немного css и html магии:


<style type="text/css">
a.hover {
background-image: url(image.gif);
display: block;
height: 30px;
width: 120px;
}

a.hover:hover {
background-position: bottom center; /* смещение в нижнюю часть нашей картинки*/
}
...
Нет так не получится - будет тоже самое, точнее на некоторых браузерах будет подгружать сразу, на некоторых потом, как, например Opera.

Тут нужно загрузить картинку сначала в буфер. MS FrontPage или как он сейчас называется, был такой встроенный макрос (создание кнопки), вот там добавлялся JavaScript с подгрузкой в память всех изображений сразу.

Установите FrontPage и сделаейте тестовую страничку.
Это как, Опера подгружает произвольную часть картинки а далее все?
Проверено.
Старый дедовский прием.
Код:
<body>
<script>
a = new Image();
a.src= "кешированная_картинка";
</script>
Данный скрипт ставите как можно раньше по коду. Можете его заинклюдить через <script src="">