Alexanevsky
@Alexanevsky
Любительская web-разработка

Как отключить кусок скрипта, если ширина экрана меньше указанного?

Здравствуйте!

Все скрипты слиты в один js файл. Однако, если ширина экрана меньше 760px (читайте - для смартфонов), некоторые фрагменты этого файла нужно не задействовать. Попытался обернуть нужный скрипт следующим образом:
$(document).ready(function(){
   if (screen.width >= 768){
         $(document).ready(function(){
            var ...
            ...
            ...
            ...
         });
   }
});

Но ничего не работает при любом размере экрана (проверял и на мобиле, и играя с размером окна браузера). Упор хочется делать, чтобы скрипт включался/не включался именно в зависимости от размеров окна браузера (актуальный на момент загрузки страницы, естественно).

Пробовал заменить screen.width на window.innerWidth но результат тот же.

Что же делать?
  • Вопрос задан
  • 8393 просмотра
Пригласить эксперта
Ответы на вопрос 3
jsfiddle.net/1n1fm0Ln
Работает у вас? в каких браузерах тестируете?
Если используете jquery то можете попробовать использовать api.jquery.com/width
p.s. взял без исправлений ваш код, дабы проверить, у меня алерт появляется, условие отрабатывает.
Ответ написан
Всё таки jQery это может.
Вот рабочий пример:
function resizeScrenn(){
        if ($(window).width() <= 779){
      		$(".icn-nav").click(function(){
            $('.navigation').fadeIn();
          });
          $(".icn-close").click(function(){
            $('.navigation').fadeOut();
          });
      	} else{
          $('.navigation').fadeIn();
      	}	
      }
      resizeScrenn();
      $(window).resize(function(){
      	resizeScrenn();
      });
Ответ написан
Комментировать
@bromzh
Drugs-driven development
Modernizr умеет media queries:
Modernizr.mq('only all and (min-width: 900px)')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы