Как вызывать 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/ Если ширину окна изменять от малого к большему - код работает. Вкладки только на маленьком экране. Если ширину окна изменять от большего к малому - нет :(. Вкладок нет нигде А как правильно? |
Если верстка на bootstrap, то нем можно скрывать без всякого JS.
|
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)
});
|
Рони, спасибо! Не знал, что так можно.
|
| Часовой пояс GMT +3, время: 10:27. |