Помогите с логикой пожалуйста
Под свои нужды хочу немного модифицировать flexMenu!, смысл в том, что имеется два меню на сайте с разными id, и хочу добавить в код следующее условие, если ul с id=top, тогда title будет top, в противном случае middle. Но не допераю как сделать сравнение найденного в html-коде ul'a с нужным мне значением.
|
fallen_soul,
Цитата:
|
через $('ul'). Проблема, для меня, в том, что js я вообще не изучал, и где-то в чем-то могу ошибаться.
Кусок кода: <ul id="top"> <li>one</li> <li>two</li> <li>three</li> <li>four</li> <li>five</li> </ul> <ul id="middle"> <li>one</li> <li>two</li> <li>three</li> <li>four</li> <li>five</li> </ul> Еще такое уточнение, скрипт флекс меню, при скрывании не влезающих элементов, вставляет вокруг спрятанных <li> свой <ul> c подписью "Еще", а когда все элементы в ней - вставляет Меню. |
fallen_soul,
<!DOCTYPE html > <html> <head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(window).ready(function () { $('ul').each(function (indx) { alert($(this).attr('id')); }); }); </script> </head> <body> <ul id="top"> <li>one</li> <li>two</li> <li>three</li> <li>four</li> <li>five</li> </ul> <ul id="middle"> <li>one</li> <li>two</li> <li>three</li> <li>four</li> <li>five</li> </ul> </body> </html> Можно прямо это значение присваивать title |
Dilettante_Pro, спасибо большое, за помощь. А можно ли это сделать в виде
if (все li скрыты) { if (ul с id=top){ значение <ul id=top>Top</ul> } else { значение <ul id=middle>Middle</ul> } else { не все li скрыты, показываем надпись "Еще" }}... Просто в скрипте flexMenu, есть конструкция if else, которая проверяет, все ли элементы списка скрыты в выпадающий список, и если скрыты, то отображается надпись Меню, если нет, отображается "Еще". И я считаю, что правильней будет в эту конструкцию добавить условие проверки, с какого ul#id идет вызов скрипта, для присвоения ему имени. Также в скрипте, есть $(this), которая в процессе выполнения содержит в себе ul#top, но я не понимаю, как содержимое $(this) сравнить с тем условием которое мне нужно, вернее с чем его сравнивать. Пробовал и через объявление переменной, и через строку. А внятный ответ на то, что передает $(this) я не нашел, возможно плохо искал. |
fallen_soul,
$(this).attr('id') == 'top' |
Dilettante_Pro,
Спасибо огромнейшее, помогло и работает. Была б возможность, проставился бы:dance: |
Часовой пояс GMT +3, время: 06:07. |