javascript - не могу реализовать генерацию оглавления

 
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проектаКубок зрительских симпатий
Сообщений: 3093
Не могу реализовать вывод оглавления статьи после первого параграфа (в виджете выводится)

Спойлер
Оглавление должно выводится в <div id="category"></div> но не выводится, если <div id="category"></div> вынести с <script></script> то оглавление показывается.
Так же не могу реализовать отступ при переходе к элементам, так как шапка фиксирована, то она перекрывает заголовок к которому перешли.

Буду рад помощи или предложениям по реализации
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2711
Jestik,
В консоли посмотрите. Ни на что не ругается?
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проектаКубок зрительских симпатий
Сообщений: 3093
ругается
Код PHP:
  1. Uncaught ReferenceError: hljs is not defined
  2. at post-slug.html:937
вроде переменная не обьявлена, но если сделать так:
Спойлер
то все работает, только ж выводится в виджете, а я хочу всунуть после первого абзаца
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3588
Как-то так надо
Код PHP:
  1.  
  2. <script type="text/javascript">
  3. $(document).ready(function(){
  4. $("p:eq(0)").after('<div id="category"></div>');
  5. $("h2").each(function(i,item){
  6. var tag = $(item).get(0).localName;
  7. $(item).attr("id","wow"+i);
  8. $("#category").append('<a class="new'+tag+'" href="#wow'+i+'">'+$(this).text()+'</a></br>');
  9. $(".newh2").css("margin-left",0);
  10. });
  11. });
  12. </script>
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2711
Jestik,
Давайте попробую в меру своих поверхностных знаний расписать, что в этом коде написано. Более знающие да поправят меня!
Код JAVASCRIPT:
  1. <script>hljs.initHighlightingOnLoad();</script> /* Дергаем какую-то функцию initHighlightingOnLoad() объекта hljs без всяких входных данных. Если объекта hljs в памяти браузера нет - ничего работать не будет */
  2. <script type="text/javascript">
  3. $(document).ready(function(){ /* Когда загрузится вся страница */
  4. $("h2").each(function(i,item){ /* На всех заголовках H2 производим какую-то функцию с аргументами i и item */
  5. var tag = $(item).get(0).localName; /* Объявляем переменную tag, которая что-то имеет из локалнейма (я не знаю что такое локалнейм) */
  6. $(item).attr("id","wow"+i); /* Добавляем итему (непонятно, что за итем) атрибут id="wow_дальше номер этой вавы равный i"
  7.   $("#category").append('<a class="new'+tag+'" href="#wow'+i+'">'+$(this).text()+'</a></br>'); /* Дописываем в класс категории ссылку со всей фигней, что дальше*/
  8. $(".newh2").css("margin-left",0); /* Добавляем элементу маргин-лефт 0 */
  9. });
  10. });
  11. </script>
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проектаКубок зрительских симпатий
Сообщений: 3093
Loadырь, dance работает)
С отступом я разобрался.
Спасибо за помощь!
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: