Автор Тема: Ссылка на родителя  (Прочитано 885 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ГБПОУ ОМТ

  • Новичок
  • *
  • Сообщений: 33
  • Авторитет: 2
    • Просмотр профиля
Ссылка на родителя
« : 24 июля 2019, 07:10:03 »
Добрый день.
Пытался самообучиться или найти что-то в нете уже готовое, но 4 дня в пустую, поэтому зову к вашей помощи, думаю для вас это семечки  :)

Задача простая
вот код
<ul>
<li><a href="%link%">страница1.1</a></li>
<li class="uk-parent"><a href="%link%">страница1.2</a>
           <div>
             <ul>
                   <li><a href="%link%">страница_дочерняя1.2.1</a></li>
                   <li><a href="%link%">страница_дочерняя1.2.2</a></li>
             </ul>
           </div>
</li>

<li><a href="%link%">страница1.3</a></li>
</ul>

нужен скорей всего скрипт который бы заменял только у родителя ссыль '%link%' на '#' чтобы при нажатии на li не открывалась страница а раскрывался дочерний список. иначе меню работает не совсем так как задумывалось.

Если в шаблон меню вписываю для link

<li><a href="#">%text%</a></li>

то и li в которых нету выпадающих меню (при нажатии на которые нужно чтобы открывались %link%) тоже прописываются href='#'

я нашел и доработал под себя что-то подобное для присвоения класса родителю
<script>

$(document).ready(function() {
    var hasChildren = $("ul.uk-nav li");
         $(hasChildren).removeClass('uk-parent');
    });
$(document).ready(function() {
    var hasChildren = $("ul.uk-nav li").children("div").parent();
         $(hasChildren).addClass('uk-parent');
    });
</script>

но пытался этот же скрипт доработать под URL не смог  из-за недостатка знаний.
Помогите думаю используя эту заготовку у вас займет меньше минуты написать мне скрипт)))
« Последнее редактирование: 24 июля 2019, 07:21:38 от ГБПОУ ОМТ »

Оффлайн ГБПОУ ОМТ

  • Новичок
  • *
  • Сообщений: 33
  • Авторитет: 2
    • Просмотр профиля
Re: Ссылка на родителя
« Ответ #1 : 24 июля 2019, 09:53:29 »
есть вот такой скрипт

<script>$(document).ready(function() {
var origHref = $('ul.uk-nav li a').attr('href');
$('ul.uk-nav li a').removeAttr('href').data('origHref',origHref);
var origHref = $('ul.uk-nav li a').data('origHref');
$('ul.uk-nav li a').attr('href','#');
});
</script>

работает. он заменяет ссыль у всех li даже у тех у кого нету дочерних списков. потею как его заставить работать только с родителями
« Последнее редактирование: 24 июля 2019, 09:56:19 от ГБПОУ ОМТ »

Оффлайн ГБПОУ ОМТ

  • Новичок
  • *
  • Сообщений: 33
  • Авторитет: 2
    • Просмотр профиля
Re: Ссылка на родителя
« Ответ #2 : 24 июля 2019, 10:37:02 »
Тема уже неактуальна.
доработал скрипт выше

Оффлайн bubek

  • Старый лис
  • *****
  • Сообщений: 615
  • Авторитет: 55
  • Пол: Мужской
    • Просмотр профиля
Re: Ссылка на родителя
« Ответ #3 : 24 июля 2019, 11:30:19 »
Ну так выложи решение  :)

Оффлайн ГБПОУ ОМТ

  • Новичок
  • *
  • Сообщений: 33
  • Авторитет: 2
    • Просмотр профиля
Re: Ссылка на родителя
« Ответ #4 : 24 июля 2019, 11:38:39 »
добавил класс к <a class="nav-sub-a"> который у родителя и вписал путь в скрипт
<script>$(document).ready(function() {
var origHref = $('ul.uk-nav li.uk-parent a.nav-sub-a').attr('href');
$('ul.uk-nav li.uk-parent a.nav-sub-a').removeAttr('href').data('origHref',origHref);
var origHref = $('ul.uk-nav li.uk-parent a.nav-sub-a').data('origHref');
$('ul.uk-nav li.uk-parent a.nav-sub-a').attr('href','#');
});
</script>