2015-07-02 2 views
0

У меня есть следующие функции JQuery:Window.width() для размера браузера?

<script> 
    $(document).ready(function(){ 
     var current_width = $(window).width(); 
     if(current_width => 1920){ 
      $("#body").css({  
       -moz-transform: 'scale(1, 1)', 
       zoom: '1', 
       zoom: '100%' 
      }); 
     } 
     else if(1366 < current_width < 1920){ 
      $("#body").css({  
       -moz-transform: 'scale(0.85, 0.85)', 
       zoom: '0.85', 
       zoom: '85%', 
      }); 
     } 
     else if(current_width <= 1366){ 
      $("#body").css({  
       -moz-transform: 'scale(0.7, 0.7)', 
       zoom: '0.7', 
       zoom: '70%' 
      }); 
     } 

    }); 
</script> 

Я использую расширение размеров окна Chrome для тестирования различных размеров экрана, но при использовании функции window.width JQuery, несмотря на изменение размера браузера, он по-прежнему обнаруживать мой родной 1920px ширина. Что-то не так с моим кодом, или мне действительно нужно проверять разные размеры экрана с помощью других устройств при использовании функции window.width()?

Спасибо

+0

Во-первых, ваш код недействителен. [Попробуйте протестировать его здесь] (http://esprima.org/demo/validate.html), и вы увидите все синтаксические ошибки. –

+0

Возможный дубликат [Событие изменения размера кросс-браузера - JavaScript/jQuery] (http://stackoverflow.com/questions/599288/cross-browser-window-resize-event-javascript-jquery) –

+3

Возможно, вы захотите изучить CSS stylesheets и @media. –

ответ

2

Оберните свой код в resize обработчика событий. См. Изменения, выделенные в приведенном ниже коде.

$(window).on('load resize rotate', function() { 
    // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

    var current_width = $(window).width(); 
    if (current_width >= 1920) { 
     //   ^^ 

     $("#body").css({ 
      '-moz-transform': 'scale(1, 1)', 
      // zoom: '1', Don't need 
      zoom: '100%' 
     }); 
    } else if (current_width > 1366 && current_width < 1920) { 
     //  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

     $("#body").css({ 
      '-moz-transform': 'scale(0.85, 0.85)', 
      // zoom: '0.85', // Not needed 
      zoom: '85%', 
     }); 
    } else if (current_width <= 1366) { 
     $("#body").css({ 
      '-moz-transform': 'scale(0.7, 0.7)', 
      // zoom: '0.7', // Not needed 
      zoom: '70%' 
     }); 
    } 
}); 
+1

'-moz-transform' не может использоваться в качестве ключа без его цитирования, поскольку он будет вызывать' SyntaxError: Unexpected token -' –

+2

@PaulS. Пожалуйста, проверьте обновленный ответ – Tushar

+0

Благодарим вас за исправления синтаксиса! Однако при загрузке страницы на устройстве с шириной 1366 пикселей (или с разрешением 1600 пикселей) браузер все еще не масштабируется, – Doge

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