Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2010, 01:02
Интересующийся
Отправить личное сообщение для Larne Посмотреть профиль Найти все сообщения от Larne
 
Регистрация: 08.10.2010
Сообщений: 11

предзагрузка изображений
Есть горизонтальное меню в виде 4х довольно крупных изображений (фотографий). Задача состояла в том, чтобы через определенные промежутки времени (20-30 сек) все 4 изображения менялись последовательно на другие изображения. Написал скрипт, на локалхосте все работает отлично, а на сервере не работает как надо. Видимо от того, что в тот момент когда картинка уже должна смениться, она только начинает загружаться и на месте старой картинки появляется просто белое поле. Решил написать функцию предзагрузки изображений, но вот в чем загвоздка: изображения пунктов меню являются фонами соответствующих пунктов меню (<img> не использовался из-за скругленных углов изображения) и заменяются другими изображениями обращением к атрибуту стиля backgroung. Никак не соображу, как использовать предзагруженные изображения в качестве фона для пунктов меню.
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2010, 08:05
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Как делать предзагрузку изображений написано тысячи статей, пользуйтесь гуглом
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2010, 13:20
Интересующийся
Отправить личное сообщение для Larne Посмотреть профиль Найти все сообщения от Larne
 
Регистрация: 08.10.2010
Сообщений: 11

спасибо, конечно, что открываете мне глаза на безграничные возможности гугла, но вопрос же состоит не в том как осуществить предзагрузку изображений, а как воспользоваться предзагруженными изображениями в качастве фона элемента.
Ответить с цитированием
  #4 (permalink)  
Старый 24.11.2010, 17:25
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

а чем отличается работа с загружаемыми и с предзагруженными? в первом случае у тебя инет адрес изображения в другом индекс в массиве имидж и всё
var nim=new Image();
nim[1]=адрес1;
nim[2]=адрес2;
.....
и вместо адреса загружаемого ставиш индекс в массиве.только убедись что прелоад из уже загруженны прежде чем начнёш работать с ними
Ответить с цитированием
  #5 (permalink)  
Старый 24.11.2010, 23:31
Интересующийся
Отправить личное сообщение для Larne Посмотреть профиль Найти все сообщения от Larne
 
Регистрация: 08.10.2010
Сообщений: 11

тоесть получается, что вместо например
elem.style.background="url(images/summer/top.jpg) 50% 0 no-repeat"
я могу писать
elem.style.background=nim[1];
или как-то по другому надо задавать фон не через style?
Ответить с цитированием
  #6 (permalink)  
Старый 25.11.2010, 00:50
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Larne
тоесть получается, что вместо например
elem.style.background="url(images/summer/top.jpg) 50% 0 no-repeat"
я могу писать
elem.style.background=nim[1];
или как-то по другому надо задавать фон не через style?
Как вариант, писал на ночь может, где есть косяки, хотя...
<script type="text/javascript">

window.onload = function(){
    var array = ['http://www.insidesocal.com/bargain/Tire.jpg', 'http://image.fourwheeler.com/f/9289058/129_0709_01_z+4x4_tire_test+general_altimax_arctic.jpg'],
    elem = document.body, i = array.length, j = 0, img = document.createElement('img');
    
    while(i--){
        //предзагрузка
        img.src = array[i];
        img.style.cssText = 'position: absolute;  visibility: hidden';
        elem.appendChild(img);
        //анимация
        (function(){
            ++j<=array.length-1 && (elem.style.cssText = 'background:url('+array[j]+') no-repeat') || (j = -1);
            window.setTimeout(arguments.callee, 300);
        })();
    }
};
</script>

Последний раз редактировалось monolithed, 25.11.2010 в 01:10.
Ответить с цитированием
  #7 (permalink)  
Старый 25.11.2010, 02:14
Интересующийся
Отправить личное сообщение для Larne Посмотреть профиль Найти все сообщения от Larne
 
Регистрация: 08.10.2010
Сообщений: 11

спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аjax запрос формирует div с изображениями, нужно показать после загрузки изображений Khmelevsky AJAX и COMET 2 13.09.2010 23:16
Скролл мини изображений I-Trap Элементы интерфейса 1 25.11.2009 22:03
Подгрузка изображений по клику CompModdd Общие вопросы Javascript 17 30.04.2009 02:39
onLoad до изображений в IE vasa_c Events/DOM/Window 2 28.04.2009 13:09
проблема со сменой изображений при наведение Jack Элементы интерфейса 0 19.03.2009 22:13