Показать сообщение отдельно
  #3 (permalink)  
Старый 09.11.2009, 12:04
Интересующийся
Отправить личное сообщение для glutton Посмотреть профиль Найти все сообщения от glutton
 
Регистрация: 26.03.2009
Сообщений: 25

Спасибо! как просто все.. Работает как надо.
А вот еще проблема всплыла. Код тот же, слегка модифицированный, чтоб нагляднее было:

function ShowImg(img, height) { 
    if (img.offsetHeight < height) { 
       // постепенное увеличение высоты
        img.style.height = (img.offsetHeight + 50) + 'px';
        setTimeout (function(){ShowImg(img, height)},30); 
    }
    else{
        // Появление кнопки "Закрыть"
        var x = document.getElementById('img_close');
        x.style.display = 'block';
    }
}
 
function showLargePicture(url, height)
{
    var img = document.getElementById('Image');
    img.src = url;
    img.style.display = 'block';
 
    // Плавное увеличение изображения
    var i = ShowImg(img,height);
}


Проблема в следующем - при клике не успевает замениться картинка - увеличиваться начинает сначала предыдущий рисунок (как будто застревает в памяти) - img.src = url; - и уже в процессе увеличение (ближе к концу) заменяется скачком на новый. Учитывая, что рисунки разного размера - ужасно некрасиво получается такой скачок.

(* закрытие картинки делаю по клику img.style.display = 'none' )

Есть ли какой-нибудь выход?? Надо, чтоб при закрытии типа память ичищалась от старой картинки..
Ответить с цитированием