2016-04-21 3 views
0

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

$(window).resize(function(evt) { 
    var $window = $(window); 
    var width = $window.width(); 
    var height = $window.height(); 
    var scale; 
    // early exit 
    if(width >= maxWidth && height >= maxHeight) { 
     $('#banner').css({'-webkit-transform': ''}); 
     $('#ad').css({ width: '', height: '' }); 
     return; 
    } 
    scale = Math.min(width/maxWidth, height/maxHeight); 
    $('#banner').css({'-webkit-transform': 'scale(' + scale + ')'}); 
    $('#ad').css({ width: maxWidth * scale, height: maxHeight * scale }); 
}); 
+0

Вы должны использовать [запросы средств массовой информации] (https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries) вместо Javascript – Liam

+0

Точка. Я хочу использовать jQuery no CSS –

+0

, вы можете использовать тот же код внутри вашего 'resize' и делать это на' load' – callback

ответ

1

Просто добавьте load к вашей функции, как:

$(window).on('resize load', function(evt) { 
    var $window = $(window); 
    var width = $window.width(); 
    var height = $window.height(); 
    var scale; 
    // early exit 
    if(width >= maxWidth && height >= maxHeight) { 
     $('#banner').css({'-webkit-transform': ''}); 
     $('#ad').css({ width: '', height: '' }); 
     return; 
    } 
    scale = Math.min(width/maxWidth, height/maxHeight); 
    $('#banner').css({'-webkit-transform': 'scale(' + scale + ')'}); 
    $('#ad').css({ width: maxWidth * scale, height: maxHeight * scale }); 
}); 
+0

Ты приветствую сэра. – callback

Смежные вопросы