С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958

Фоновая загрузка изображений

08.04.2015, 21:15. Показов 3583. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго ) У меня вот такая проблема. Уже сделал простую галерею изобр.
Система такая - нажимаю на иконку, запускается галерея и листаешь изобр. соотв этой иконке. В каждом "блоке" есть по 5 изобр., но хрень в том что при первом проходе браузрер каждый раз загружает изобр. Хотел бы чтоб при клике по блоку браузер фоново загружал себе все соотв. изобр
Вроде ясно объяснил )
Пробовал вот так -
JavaScript
1
2
3
window.onload = function(){
for(x=1; x<(colImg-1); x++)document.location.href = "images/gallery/"+katalog+"/slide_"+x+".jpg"
};
в переменных :
colImg - кол. изобр. в блоке
katalog - имя каталога
x - перебор всех изобр. в блоке

Но вот так не работает, изобр. в галереи при первом проходе все равно противно моргают ( Помогите
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.04.2015, 21:15
Ответы с готовыми решениями:

Фоновая загрузка файла
Как сделать, чтобы при открытие страницы автоматический загружался файл? Пользователь не должен ничего нажимать, просто при открытии файл...

Загрузка изображений
Здравствуйте, имеется такой код. var...

Загрузка изображений
Доброго времени суток. Подскажите как сделать загрузку картинок, что бы при выборе картинок было видно привью.

5
9 / 9 / 10
Регистрация: 20.04.2014
Сообщений: 44
09.04.2015, 03:42
Изображения попадают в кэш браузера если их объявить через конструктор new Image()

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var galery = [
        'image1.png',
        'image2.png',
        'image3.png',
        'image4.png',
        'image5.png'
]
 
galery.forEach(function(src){
var image = new Image();
    image.src = src;
    image.className = 'myImage';
    image.style.display = 'none';
    document.body.appendChild(image)
})
var myImage = document.getElementsByClassName('myImage');
var i = 0;
document.body.onclick = function(){
    myImage[i].style.display = 'block';
    if(i>myImage.length-1){i = 0;}
    i++;
}
Создал изображения, присоединил их к телу документа, а потом скрыл, а когда надо, просто показал.
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
09.04.2015, 10:26
html-вариант: cамым первым тегом после <body> прописываете <div style="display: none"></div> и внутрь его помещаете нужное количество тегов <img>, которым в src указываете пути к файлам, которые надо предзагрузить

css-вариант: в сss-файле или в блоке <style></style> прописываете нужное количество классов, каждому из которых прописываете фоны в виде путей к файлам, которые надо предзагрузить -- и эти классы нигде в коде не используйте

js-вариант: в js-файле или в блоке <script></script> создаёте нужное количество объектов Image (), каждому из которых устанавливаете src в виде путей к файлам, которые надо предзагрузить -- и делать это надо не по onload, а сразу

Добавлено через 6 минут
PS. но предзагрузка - это не панацея, т.е. она необходима, но недостаточна
даже если файл имеется в кеше, браузер при попытке отображения этого файла по-любому отсылает http-запрос на сервер и получает от сервера http-заголовок этого файла, после получения ответа от сервера браузер сравнивает размер и дату последнего изменения с тем, что имеется в кеше и только потом, если эти данные совпали, берёт файл из кеша
на все эти "отсылку запроса, ожидание ответа и сравнение" всё-равно требуется время

если нужно реально мгновенная замена картинки на картинку, тут надо пользоваться методом replaceChild () и заменять существующее изображение на новое созданное заранее
1
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
09.04.2015, 10:49  [ТС]

kalabuni
повторюсь - это галерея и заведомо знать изображения которые будут просматр. Я не могу, их много.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
09.04.2015, 11:16
ишшо раз:
"простая галерея" - это страница, на которой расположено определённое (конечное) количество тегов <img>, которые отображают так называемые "превьюшки" (картинки малого размера)
при клике по какой-либо из "превьюшек" пользователь видит эту же картинку, но уже большого размера

именно это называется простой галереей

если у вас что-то "листается", есть какие-то иконки/блоки, то это уже не галерея, а что-то иное - слайдер, карусель и прочее...

так вот, к сути: в простой галерее количество превьюшек на странице ограничено конечным числом, нельзя называть это число словом "много"
пусть их 50 штук, предзагружать все 50 действительно нерационально, просто не успеют все 50 загрузиться к моменту, когда юзер по любой из 50-ти кликнет
для этого и существуют всякие-разные способы "направить клиента", чтобы он как бы сделал свободный выбор, а на самом деле вы его туда направили
но это уже не "простая галерея"
0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
09.04.2015, 20:06  [ТС]
kalabuni может и не простое, ХЗ. Есть 9 иконок, по нажатию на ее срабатывает "галерея", в ней можно просмотреть изобр. принадлежащие этому блоку(иконке). Скрипт js просто меняет путь к изображению. Вот в момент когда нажимаешь на иконку то скрипт знает пути ко всем изображениям, но как сделать чтоб браузер их так же знал и сразу подгружал? как-то так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2015, 20:06
Помогаю со студенческими работами здесь

Загрузка изображений на сервер
Как сделать загрузку нескольких изображений на сервер с предпросмотром, как, например, это сделали на Slando?

Загрузка изображений через форму
Добрый день, есть input для загрузки нескольких картинок на сервер &lt;input name=&quot;userImage&quot; type=&quot;file&quot;...

Загрузка изображений
Всем доброго времени суток. У меня вопрос касательно загрузки картинок на сайт. Как сделать так, чтобы при открытии страницы с множеством...

Загрузка изображений
Всем привет! Подскажите как правильно организовать. Есть доска объявлений http://board.paradiseholdingsl.com/ Вопрос в том, что в...

Загрузка изображений в lightbox
Привет! Сделала на бутстрапе галерею, присоединила к иконкам lightbox , подсоединила скрипт &lt;script src=&quot;&lt;?php...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru