[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как можно отследить загрузку последней фотки?
xaleva
Добрый день.Мне необходимо реализовать следующую штуку: у меня есть селект ,в нем я выбираю раздел.при выборе наступает событие onchange.При этом картинки в галерее меняются.Меняются они тупо: просто через src.Они долго грузятся,поэтому хочу при этом выводить слой,типа "подождите".Как мне делать его невидимым когда все фотки загрузятся?Как можно отследить загрузку последней фотки?пробовал загружать в new Image...но проблема оставалась



Спустя 40 минут, 43 секунды (16.06.2007 - 11:08) Timok написал(а):
а) можно просто воспользоваться атрибутом ALT у изображения, это самый простой и 100%-ный способ
б) можно воспользоваться обработчиком onload. Пример ниже
Код
<div id="message" style="display:none;">Подождите...</div>
<img id="image" src="01.gif" alt="Подождите, пожалуйста..." /><br />
<button onclick="gallery.prev();">Предыдущая</button>
<button onclick="gallery.next();">Следующая</button>
<script type="text/javascript">
// типа "класс" для смены картинок
function ImagesCollection(image_id, message_id)
{
    // массив с URL'ами картинок
    var images_list = new Array("01.gif", "02.gif", "03.gif", "04.gif", "05.gif");
    var current = 0; // текущая картинка
    var image_elem = document.getElementById(image_id);
    var message_elem = document.getElementById(message_id);

    // следующая картинка
    this.next = function()
    {
        if ( (current + 1) < images_list.length ) {
            ++current;
            message_elem.style.display = "block"; // показываем сообщение
            image_elem.src = images_list[current];
            image_elem.onload = function() {
                message_elem.style.display = "none"; // скрываем сообщение
            }
        }
    }

    // предыдущая картинка
    this.prev = function()
    {
        if ( current > 0 ) {
            --current;
            message_elem.style.display = "block";
            image_elem.src = images_list[current];
            image_elem.onload = function() {
                message_elem.style.display = "none";
            }
        }
    }
}

var gallery = new ImagesCollection("image", "message");
</script>

Спустя 20 минут, 33 секунды (16.06.2007 - 11:29) xaleva написал(а):
Спасиб большое)))Эт как раз то что нужно. clapping.gif


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.