2015-03-09 7 views
0

У меня есть небольшой скрипт, который определяет ширину окна и настраивает элементы навигационного списка, если экран находится между 600px и 1200px. Скрипт работает в рамках ограничений, однако, когда браузер изменяет размер 1200px или ниже 600px, объявление ширины остается применимым к каждому соответствующему элементу списка. Однако, как только страница обновится, ширина будет тем, чем она должна быть. Первый плакат здесь, поэтому, пожалуйста, дайте мне знать, что мне не хватает.Ширина элемента списка не корректируется за максимальную декларацию пикселя

Благодаря

$(window).resize(function() { 
var sub_menu_list_item = $('.current-menu-item .sub-menu li'); 
var sub_menu_list_item_count = sub_menu_list_item.length; 
var divisor = (1/sub_menu_list_item_count); 
var width = divisor * 100; 
var ww = $(window).width(); 

if (ww > 600 && ww < 1200){ 
    if (sub_menu_list_item_count % sub_menu_list_item_count === 0){ 
     sub_menu_list_item.css('width', width + '%'); 
    } 
} 

});

ответ

0

Похоже, что вы не применяя width стиль к подпунктам в «другое» дело. То есть, когда ширина окна меньше 600px или больше 1200px. Таким образом, те элементы, которые имеют размер, пока окно находится в пределах ваших ограничений по ширине 600px - 1200px, останутся таковыми до тех пор, пока страница не будет обновлена.

Если вы придумали случай по умолчанию, вы можете установить стиль width так же, как в своем корпусе if.

$(window).resize(function() { 
    var sub_menu_list_item = $('.current-menu-item .sub-menu li'); 
    var sub_menu_list_item_count = sub_menu_list_item.length; 
    var divisor = (1/sub_menu_list_item_count); 
    var width = divisor * 100; 
    var ww = $(window).width(); 

    if (ww > 600 && ww < 1200){ 
     if (sub_menu_list_item_count % sub_menu_list_item_count === 0){ 
      sub_menu_list_item.css('width', width + '%'); 
     } 
    } else { 
     sub_menu_list_item.css('width', 'auto'); 
    } 
}); 
+0

Спасибо, что сработало. Я применял это первоначально, но у меня было предложение else, примененное к внутреннему оператору if, а не к тому, которое определяет ширину браузера. –

+0

Без проблем, рад помочь! Обязательно отметьте правильный ответ :) – McTalian

0

вы должны удалить Ограничить для размеров экрана вы не хотите

if (ww > 600 && ww < 1200){ 
    if (sub_menu_list_item_count % sub_menu_list_item_count === 0){ 
     sub_menu_list_item.css('width', width + '%'); 
    } 
    else { 
     sub_menu_list_item.css('width', 'auto'); 
    } 
}