Underdoggit
@Underdoggit

Как сделать, что бы jquery скрипт срабатывал на определенном медиазапросе?

Есть Jquery скрипт, который клонирует и фиксирует меню навигации на экране. Как сделать так, что бы скрипт работал только на экранах в определенном медиа-запросе. Допустим от 768 до 1100px.
Хочу отключить его, и включить другой скрипт который будет двигать уже мобильное меню.
Сам скрипт ->
// Create a clone of the menu, right next to original.
$('.header__navigation').addClass('original').clone().insertAfter('.header__navigation').addClass('cloned').css('position','fixed').css('top','0').css('margin-top','0').css('z-index','500').removeClass('original').hide();

scrollIntervalID = setInterval(stickIt, 10);


function stickIt() {

  var orgElementPos = $('.original').offset();
  orgElementTop = orgElementPos.top;               

  if ($(window).scrollTop() >= (orgElementTop)) {
    // scrolled past the original position; now only show the cloned, sticky element.

    // Cloned element should always have same left position and width as original element.     
    orgElement = $('.original');
    coordsOrgElement = orgElement.offset();
    leftOrgElement = coordsOrgElement.left;  
    widthOrgElement = orgElement.css('width');
    $('.cloned').css('left',leftOrgElement+'px').css('top',0).css('width',widthOrgElement).show();
    $('.original').css('visibility','hidden');
  } else {
    // not scrolled past the menu; only show the original menu.
    $('.cloned').hide();
    $('.original').css('visibility','visible');
  }
};
  • Вопрос задан
  • 570 просмотров
Решения вопроса 1
@as_viper
Начинающий веб-разработчик
if (screen.width < 992) {
Ваш скрипт
}

992 = ваше число медиазапроса
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Destell
@Destell
React, React Native junior developer
min < window.innerWidth < max
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽