#javascript #jquery
#javascript #jquery
Вопрос:
Я хочу установить динамическую ширину на li (ы) в зависимости от того, сколько li (ов) есть в списке. Например, если их 18 li (ов). Каждая ширина должна составлять 100% / 18 = 5,55%. Что, если бы у меня было 3 разных набора li (ов). Я пытался использовать это. но это не работает
$('.lesson-nav ul li').width( 100 / $(".lesson-nav ul li").length );
Ответ №1:
Вам не хватает %
знака в вашей ширине, jQuery по умолчанию использует пиксели.
$('.lesson-nav ul li').width( 100 / $(".lesson-nav ul li").length '%' );
Комментарии:
1. По неизвестной причине: этот скрипт дает ширину 120% при наличии только 1 li и 27,55% при наличии 18 lis. Также в этом ответе не рассматривается, если внутри находится более 1 UL .урок-навигация.
Ответ №2:
Ваш код определенно даст вам ширину в пикселях. Попробуйте это:
$('.lesson-nav ul li').width( ( 100 / $(".lesson-nav ul li").length ) '%' );
ОБНОВЛЕНО: кроме того, попробуйте встроенный блок для каждого элемента li.
Комментарии:
1. Ну, я предполагаю, что вы установили li как встроенные вместо элементов уровня блока, иначе эта тема не имела бы особого смысла. Однако и AFAIR это не так, как работает CSS width. Попробуйте использовать встроенный блок для каждого элемента li .
2. Точно такая же проблема возникает и здесь (как я ответил Бармару).
3. Это странно. Не могли бы вы, пожалуйста, показать свой HTML-код? С несколькими ul и без них.