Исходный код выглядит следующим образом:
$(document).ready(function () {
$('#myDeepMenu').deepMenu({
"tileW": 64,
"tileH": 100,
"columns": 2,
"rows": 2,
"mark-type": "top-left",
"mark-color": "#A1A1A1"
});
});
Я пытаюсь сделать этот код отзывчивым, чтобы значения столбца и строки менялись в зависимости от размера экрана. С этой целью я реализовал это.
$(document).ready(function () {
if ($(window).width() > 100 && $(window).width() < 200) {
$('#myDeepMenu').deepMenu({
"tileW": 64,
"tileH": 100,
"columns": 2,
"rows": 2,
"mark-type": "top-left",
"mark-color": "#A1A1A1"
});
};
else {
$('#myDeepMenu').deepMenu({
"tileW": 64,
"tileH": 100,
"columns": 3,
"rows": 2,
"mark-type": "top-left",
"mark-color": "#A1A1A1"
});
};
});
Значения, на которых я сосредоточен, - это "столбцы" и "строки". По какой-то причине добавление условий ширины min-max полностью отключает функцию.
Как мне изменить значения этой функции на основе размера экрана?
Вам нужна функция для получения новых измерений всякий раз, когда размер изменяется:
var h = $(window).height(), w = $(window).width();
$(window).resize(function(){
var nh = $(window).height(), nw = $(window).width();
h = nh; w = nw;
if nw > 100 && nw < 200) {
$('#myDeepMenu').deepMenu({
"tileW": 64,
"tileH": 100,
"columns": 2,
"rows": 2,
"mark-type": "top-left",
"mark-color": "#A1A1A1"
});
};
else {
$('#myDeepMenu').deepMenu({
"tileW": 64,
"tileH": 100,
"columns": 3,
"rows": 2,
"mark-type": "top-left",
"mark-color": "#A1A1A1"
});
};
});
if ($(window).width() > 100 && $(window).width() < 200) {
$('#myDeepMenu').deepMenu({
"tileW": 64,
"tileH": 100,
"columns": 2,
"rows": 2,
"mark-type": "top-left",
"mark-color": "#A1A1A1"
});
}; <----------------------- Semicolon in error?
resize
вы должны завернуть ,if else
в$(window).rezise(function(){ ... });