Я пытаюсь объединить плагин Superfish jQuery с фрагментом кода Натана Смита adapt.js, который динамически загружается в разные CSS-файлы в зависимости от ширины браузера. Я хочу отключить / заменить / что-то в меню Superfish, когда в мобильном режиме, потому что выпадающие не имеют никакого смысла там. Я попытался обнаружить изменение и отключить меню, но мне нужно, чтобы оно снова активировалось, когда размер окна снова изменился.
Вот что у меня есть:
function htmlId(i, width) {
document.documentElement.id = 'pagesize_' + i;
}
var ADAPT_CONFIG = {
path: '/css/',
dynamic: true,
callback: htmlId,
range: [
'0px to 760px = mobile.css',
'760px = 960_12.css'
]
};
function sfMenu() {
$("#pagesize_1 ul.sf-menu").superfish({
delay: 800,
animation: {opacity:'show'},
speed: 'fast',
autoArrows: true,
dropShadows: true
});
}
$(document).ready(function(){
sfMenu();
});
Обоснованием было изменить идентификатор элемента html на resize
(между pagesize_0
и pagesize_1
- что работает) и использовать селекторы потомков в CSS, чтобы отключить меню, но это не работает. Я попытался повторно запустить sfMenu()
на resize
(код не показан выше), но, похоже, он не проверяет измененный DOM, понимает, что pagesize_1
больше не существует, а затем изящно завершается (что, я думаю, могло бы достичь эффекта, который я '') м после).
Есть мысли? В идеале, я бы хотел отключить функцию superfish
на resize-to-mobile, а затем восстановить ее, когда экран снова станет большим.