Веб инструменты Webobzor.net Rambler's Top100
На главную  Новости  Рейтинг  Каталог  Статьи  Графика  Веб инструменты 

покупка яхты или катера | отдых и туры в Швейцарию летом | Московский кадровый центр персонала | импортер запчасти к грузовикам Mack и Volvo | туры Казахстан и Узбекистан
Статьи


Веб дизайн
Интернет
Продвижение сайта
Java Script
Apache
PHP
MySQL
Веб технологии
Эксперименты
Проекты

Дистрибутивы
Форум веб мастеров
Гостевая книга

Определить PageRank
Определить ТИЦ
Проверить IP адрес
Whois сервис

Реклама


777

Наши друзья
PhpScript.com.ru

GoldPages.com.ru



Webobzor.net -> Статьи -> Java Script


Постзагрузка картинок

15.10.2008  01:19

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

Часто таких превью может быть более 20-30, и разумеется, если бы их оригиналы загружались вместе с уменьшенными копиями, такие страницы грузились бы минутами, если не больше. Достаточно посчитать, что картинка среднего размера занимает 100-200 Кбайт, и 20 подобных фото могут весить более 4 Мбайт.

Но есть достаточно оригинальный способ решения этой проблемы. Более двух лет назад я писал статью "Предзагрузка картинок" и теперь буду использовать подобный скрипт для реализации ПОСТзагрузки.

Весь код я выложу в отдельный архив, ссылку на который вы можете увидеть ниже. А вам я попытаюсь объяснить основную идею постзагрузки. Предположим у нас есть две превью картинки, при чем при нажатии на любую из них необходимо загрузить большое фото и отобразить его. Реализация следующая:

1. Получаем имя большой картинки и создаем новый объект pic:

var pic = new Image();
var timer;

function changePicture(pictureName) {

pic = new Image();
pic.src = "images/" + pictureName;
timer = setTimeout("checkLoading()", 1000);

}


2. Создаем таймер, который будет через каждую секунду выполнять функцию checkLoading. Данная функция проверяет свойство объекта complete. Если оно равно true, значит фото было полностью загружено и его можно отобразить на странице:

function checkLoading() {

if (pic.complete == true) {

document.getElementById("ID картинки").src = pic.src;

} else {

timer = setTimeout("checkLoading()", 500);
}
}


Вот и все. При помощи данного алгоритма можно, к примеру создать следующий эффект (Скачать код).

Одно пожелание. Если вы хотите разместить данную статью на своем сайте, будьте добры, не меняйте в ней ссылок и обязательно поставьте ссылку на нас. Уважайте свою и чужую работу!


webobzor.net



Комментарии: [3]


Федор  03.11.2008  11:40

Замечательный скрипт! Можно решать задачи и без php-программ, работающих на удаленном сервере

lexa 03.11.2008  13:59

ну наконец-то хоть кто-то оценил :)

JOKER   08.12.2008  23:43

Да прикольный скриптец. Я вот как раз подобное собирался написать. Спасибо :)


Добавить комментарий:


* Ник:
E-mail:
Сайт:
* Комментарий:
* Введите число: 791
Популярные статьи


Прыгающие буквы на JavaScript
30156 

Эффект прозрачности в JavaScript
9451 

Древовидное меню на JavaScript
8025 

Создание Favicon.ico
7198 

Эффект плавного перехода на JavaScript
6663 
Последние комментарии


Установка Apache под Linux

Пока успел прочитать только эту одну зам...
Вениамин | 06.01.2009 - 17:48

Мой "любимый" хостинг

в общем ты не далек от истины )...
lexa | 05.01.2009 - 19:58

Мой "любимый" хостинг

забил я значить в яндекс такую фразу и в...
chehonte | 05.01.2009 - 19:52

Robots.txt. Подробное описание

При обращении к любому сайту гугл прежде...
lexa | 05.01.2009 - 19:48

Robots.txt. Подробное описание

Вот тут написано что можно запретить инд...
chehonte | 05.01.2009 - 19:44


Счетчики





Rambler's Top100










2006 © Проект Webobzor.net