Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Задачка с якорями (https://javascript.ru/forum/jquery/22093-zadachka-s-yakoryami.html)

vyrtime 06.10.2011 10:11

Задачка с якорями
 
Есть страничка 1.html с меню, в котором содержатся якорные ссылки на 2.html:
<ul>
<li><a href="2.html#a">А</a></li>
<li><a href="2.html#b">Б</a></li>
<li><a href="2.html#c">В</a></li>
и т.д.
</ul>

Файл 2.html содержит много текста с заголовками <h3> :
<!--много текста-->
<!--много текста-->
<h3 id="a">А</h3>
<!--много текста-->
<!--много текста-->
<h3 id="b">Б</h3>
<!--много текста-->
<!--много текста-->
<h3 id="c">В</h3>
<!--много текста-->
<!--много текста-->
и т.д.


Имена якорей генерируются плагином autoanchors. Плагин автоматом генерирует id-шки заголовкам, а также меню в виде якорных ссылок прямо на этой же странице. Все якоря на этой странице замечательно работают.
Но в файле 1.html при нажатии на любую из ссылок, открывается файл 2.html, и на заголовок переход не осуществляется. Как я понял, это происходит потому что якоря генерируются динамически после загрузки страницы и браузер "не видит" id-шки заголовков h3 и соответсвенно переход к якорю не происходит.
Соответственно вопрос: как решить данную проблему?

ksa 06.10.2011 10:44

Цитата:

Сообщение от vyrtime
браузер "не видит" id-шки заголовков h3 и соответсвенно переход к якорю не происходит

Что-то ты всё попутал... И причём тут раздел с jQuery?

Все решается изменением хтмэля...

<h3><a name="a">А</a></h3>


ИД тут вообще роли не играет никакой...

vyrtime 06.10.2011 10:56

id как раз-таки играет роль, причем роль якоря - http://www.w3.org/TR/REC-html40/struct/links#h-12.2.3
плагин autoanchors после загрузки страницы автоматом добавляет к <h3> якорь в виде id:
<h3 id="a">А</h3>

а также меню в виде этих якорей прямо на странице, т.е. такой:
<ul>
<li><a href="#a">А</a></li>
<li><a href="#b">Б</a></li>
<li><a href="#c">В</a></li>
и т.д.
</ul>

Но если я создам меню на ДРУГОЙ странице(т.е. ФАЙЛ 1.html), то меню якорей уже не работает.
id и меню с якорными ссылками на 2.html создает плагин, а на 1.html - я ручками

ksa 06.10.2011 11:59

Цитата:

Сообщение от vyrtime
id как раз-таки играет роль, причем роль якоря

Попробовал... Таки да.

ksa 06.10.2011 12:01

Цитата:

Сообщение от vyrtime
id и меню с якорными ссылками на 2.html создает плагин, а на 1.html - я ручками

Тогда делай тестовый пример на котором такое можно посмотреть...

vyrtime 06.10.2011 12:30

Вложений: 1
сделал тестовый пример

ksa 06.10.2011 13:15

vyrtime, все должно умещаться тут, в сообщении. Я ничего не качаю из вложений...

vyrtime 06.10.2011 13:41

дело в том, что ни разу не делал так, чтобы код выполнялся прямо на форуме, быть может подскажите каким образом это делается?
если вы не скачиваете вложение исходя из принципов безопасности, то уверяю вас, вирусов нет

ksa 06.10.2011 13:55

Цитата:

Сообщение от vyrtime
если вы не скачиваете вложение исходя из принципов безопасности

Мне просто это не нужно... :)

Цитата:

Сообщение от vyrtime
код выполнялся прямо на форуме, быть может подскажите каким образом это делается?

Так тут валом примеров, в том числе и моих... Пройдись по свежим темам, нажми "Цитировать" - сразу всё и увидишь...

vyrtime 06.10.2011 14:18

проблема в том, что у меня 2 файла, а выполнение кода возможно только одного из них, тем самым не возможно показать все "прелести"

ksa 06.10.2011 14:22

vyrtime, таки выложи два файла... Или один тут, другой в инет... Мысли шире! Возможностей валом. :)

vyrtime 06.10.2011 14:45

что-то я совсем не представляю каким образом это сделать...=(

ksa 06.10.2011 14:53

vyrtime, ну тогда забей... :)

vyrtime 07.10.2011 07:24

вот пример: http://vyrtime.nx0.ru/anchor1.html

melky 07.10.2011 12:06

linux, chrome 13

полёт нормальный

vyrtime 07.10.2011 14:04

согласен, в chrome, safari и opera работает, а как в таком случае быть с FF и "любимым" IE?


Часовой пояс GMT +3, время: 12:11.