Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.12.2019, 14:59
Аспирант
Отправить личное сообщение для VasyOK Посмотреть профиль Найти все сообщения от VasyOK
 
Регистрация: 08.12.2017
Сообщений: 31

Как вызывать jQuery виджет только в определенном разрешении?
Допустим есть jQuery виджет https://jqueryui.com/tabs/
И нужно, чтобы вкладки были только на экранах с шириной менее 600рх. А на больших экранах чтобы виджет не обрабатывал HTML. Т.е. display: none - не подходит.

Написал такой вот код:

function tabs_behavior() {
   if ($(window).width() < 600) {
   	$("#tabs").tabs();     
   } else {
        $("#tabs").tabs("destroy");  
   }
}

tabs_behavior();

$(window).resize(function() {
	tabs_behavior();            
});



https://jsfiddle.net/PlayboyZP/1d6jh45e/

Если ширину окна изменять от малого к большему - код работает. Вкладки только на маленьком экране.
Если ширину окна изменять от большего к малому - нет . Вкладок нет нигде

А как правильно?
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2019, 15:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если верстка на bootstrap, то нем можно скрывать без всякого JS.
Ответить с цитированием
  #3 (permalink)  
Старый 14.12.2019, 15:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

VasyOK,
$(function() {
    var tab = $("#tabs"), activate;
    function tabs_behavior() {
        var min = $(window).width() < 600;
        if (min && !activate) {
            tab.tabs();
            activate = true
        } else if (!min && activate) {
            tab.tabs("destroy");
            activate = false
        }
    }
    tabs_behavior();
    $(window).resize(tabs_behavior)
});
Ответить с цитированием
  #4 (permalink)  
Старый 14.12.2019, 17:38
Аспирант
Отправить личное сообщение для VasyOK Посмотреть профиль Найти все сообщения от VasyOK
 
Регистрация: 08.12.2017
Сообщений: 31

Рони, спасибо! Не знал, что так можно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
виджет, только сторона клиента (JS, JQUery, работа с датами, масштабирование) eugen35 Работа 4 31.07.2014 09:50
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как при быстром многократном клике по кнопке обрабатывать только первый клик battrack jQuery 3 22.03.2012 10:47
Как сделать чтобы text() брал только текст родителя без текста вложенных контейнеров? Andrey32 jQuery 3 23.05.2009 01:33