Я пытаюсь использовать следующий код для удаления класса при изменении размера окна для меню в отзывчивой теме, но это не сработает.remove/add class on window resize jquery
(function() {
var $window = $(window),
$ul = $('ul.nav');
$window.resize(function(){
if ($window.width() < 979) {
return $ul.addClass('float');
}else{
$ul.removeClass('float')};
}).trigger('resize');
});
.Float не определен с помощью .css. Это просто, если подменю (динамически генерируемое в области администратора) становится слишком большим, чтобы вписаться в контейнер.
Вот код для генерации «поплавок-эффект», когда подменю с большим
$('.float > li.dropdown > a + ul').each(function(index, element) {
// IE6 & IE7 Fixes
if ($.browser.msie && ($.browser.version == 7 || $.browser.version == 6)) {
var category = $(element).find('a');
var columns = $(element).find('ul').length;
$(element).css('width', (columns * 143) + 'px');
$(element).find('ul').css('float', 'left');
}
var menu = $('.float').offset();
var dropdown = $(this).parent().offset();
i = (dropdown.left + $(this).outerWidth()) - (menu.left + $('.float').outerWidth());
if (i > 0) {
$(this).css('margin-left', '-' + (i + 5) + 'px');
}
});
Вот часть начала кода меню
<?php if ($categories) { ?>
<div class="menu">
<ul class="nav float">
<?php foreach ($categories as $category) { ?>
<li class="dropdown"><a href="<?php echo $category['href']; ?>">
<?php echo $category['name']; ?></a>
.
.
.
.
ecc.
Любые другие идеи для удаления/добавить класс «.float» при изменении размера окна? Заранее благодарим за любой отзыв.
EDIT
После попытки немного, я нашел альтернативное решение с запросом .css
@media (max-width: 979px)
Сейчас он работает, но я до сих пор не могу понять, почему JQuery изменение размера не работает.
Существует уже '$ (документ) .ready (функция() {' в самом начале файла внешнего .js, который вызывает большая часть кода. – Someone33