Показать сообщение отдельно
  #1 (permalink)  
Старый 11.06.2012, 15:21
Новичок на форуме
Отправить личное сообщение для vitaly777 Посмотреть профиль Найти все сообщения от vitaly777
 
Регистрация: 11.06.2012
Сообщений: 2

Event resize ( window )
Здравствуйте!

Задача у меня такая, при изменении размера окна, нужно изменять
размер картинки (с определёнными условиями). ( средствами CSS не получилось ).

Как-то я это решил ( на IE9, Mozilla, Opera, Chrome работает )
А вот на IE8 подвисает.
Может по другому надо обрабатывать это событие ?

функция:
function resize()
    {
        if ( typeof( elDiv ) == 'undefined' )
            var elDiv = document.getElementById('resolution');
        if ( typeof( elImg ) == 'undefined' )
            var elImg = document.getElementById('img_bg');
        
        if ( window.innerHeight )
        {
            var scrHeight = window.innerHeight;
            var scrWidth = window.innerWidth;
        }
        else
        {
            var scrHeight = document.documentElement.offsetHeight;
            var scrWidth = document.documentElement.offsetWidth;
        }
        var imgHeight = elImg.offsetHeight;
        var imgWidth = elImg.offsetWidth;
            
        var xH = scrHeight - imgHeight;
        var xW = scrWidth - imgWidth;
        
        if ( xH >= 50 && xW <= 0 )
            elImg.style.width = '100%';
        else
            elImg.style.width = ( scrHeight - 50 ) * 2 + 'px';
            
        //elDiv.innerHTML = 'W:' + xW + ' H:' + xH;
        //elDiv.innerHTML = 'browser screen W:' + scrWidth + ' H:' + scrHeight + '<br />' + 'div size W:' + imgWidth + ' H:' + imgHeight;
    }


обработка события:
if ( document.all )
            window.attachEvent('onresize', function(){resize();});
        else
            window.addEventListener('resize', function(){resize();} , false );



Буду рад любому совету!

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