Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.04.2016, 14:17
Новичок на форуме
Отправить личное сообщение для fallen_soul Посмотреть профиль Найти все сообщения от fallen_soul
 
Регистрация: 06.04.2016
Сообщений: 9

Помогите с логикой пожалуйста
Под свои нужды хочу немного модифицировать flexMenu!, смысл в том, что имеется два меню на сайте с разными id, и хочу добавить в код следующее условие, если ul с id=top, тогда title будет top, в противном случае middle. Но не допераю как сделать сравнение найденного в html-коде ul'a с нужным мне значением.
Ответить с цитированием
  #2 (permalink)  
Старый 06.04.2016, 14:41
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

fallen_soul,
Сообщение от fallen_soul
Но не допераю как сделать сравнение найденного в html-коде ul'a с нужным мне значением.
А что значит - найденного? Как вы его нашли?
Ответить с цитированием
  #3 (permalink)  
Старый 06.04.2016, 14:57
Новичок на форуме
Отправить личное сообщение для fallen_soul Посмотреть профиль Найти все сообщения от fallen_soul
 
Регистрация: 06.04.2016
Сообщений: 9

через $('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, 06.04.2016 в 15:09. Причина: Ошибся в id
Ответить с цитированием
  #4 (permalink)  
Старый 06.04.2016, 18:38
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

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
Ответить с цитированием
  #5 (permalink)  
Старый 07.04.2016, 11:02
Новичок на форуме
Отправить личное сообщение для fallen_soul Посмотреть профиль Найти все сообщения от fallen_soul
 
Регистрация: 06.04.2016
Сообщений: 9

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, 07.04.2016 в 11:08.
Ответить с цитированием
  #6 (permalink)  
Старый 07.04.2016, 11:33
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

fallen_soul,
$(this).attr('id') == 'top'
Ответить с цитированием
  #7 (permalink)  
Старый 07.04.2016, 12:00
Новичок на форуме
Отправить личное сообщение для fallen_soul Посмотреть профиль Найти все сообщения от fallen_soul
 
Регистрация: 06.04.2016
Сообщений: 9

Dilettante_Pro,
Спасибо огромнейшее, помогло и работает. Была б возможность, проставился бы
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слайдер - карусель блоков (помогите пожалуйста) Viktor.Poberezhniy Общие вопросы Javascript 3 22.07.2014 12:46
Помогите пожалуйста! Veritaspl jQuery 17 05.04.2013 10:31
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26
Пожалуйста помогите решить задачу на java alex01rus1991 Элементы интерфейса 9 27.11.2012 01:02
Помогите пожалуйста правильно написать скрипт raffx Events/DOM/Window 17 16.10.2012 20:31