on href (Страница 1) / Программирование / Форум StopLinux

Объявление

Kwork.ru - услуги фрилансеров от 500 руб.

#1 13-08-10 20:24:20

Luca
Участник
Зарегистрирован: 03-09-09
Сообщений: 1,413

on href

Есть простенький код, который разворачивает элемент при клике на него

<li><a href="#1" onclick="toggle_visibility('1');">- Куда я попал?</a></li>
<div id="1" style="display:none"><p>Вы попали на наш сайт</p></div>

Мне необходимо сделать обработку не только по onclick но и по простой ссылке, т.е. я даю ссылку
/#1
на элемент и он разворачивается. Как это сделать? Сейчас при переходе на ссылку элемент не раскрывается.

Неактивен

#2 13-08-10 20:31:53

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354

Re: on href

Для таких вещей удобно использоввать
https://docs.jquery.com/Tutorials


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#3 13-08-10 21:33:54

Luca
Участник
Зарегистрирован: 03-09-09
Сообщений: 1,413

Re: on href

Mike22,
Что-то не работает.
Вот посмотри сам JS код вместе с твоей вствкой:

<script type="text/javascript">
<!--
    function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }
    
    var s = document.location + "";
    var a = s.split("#");
    if (a.length > 1) toggle_visibility(a[1]);
//-->
</script>

Неактивен

#4 13-08-10 22:21:52

Luca
Участник
Зарегистрирован: 03-09-09
Сообщений: 1,413

Неактивен

#5 13-08-10 22:31:18

Luca
Участник
Зарегистрирован: 03-09-09
Сообщений: 1,413

Re: on href

Mike22,
Все спасибо разобрался! С вносом в тело функции сам ошибся т.к. проверял и так и сяк.

Добавлено спустя 35 мин 13 с:
Все новый FAQ по сайту залит. Единственное хотелось бы узнать, как сделать чтобы при открытии элемента на него не перебрасывало т.е. он просто бы открывался без сдвига к верхней части окна браузера?

Добавлено спустя 38 мин:
Причем в FireFox перебрасывает и при закрытии и при открытии свернутого элемента, в Opera только при его закрытии.

Неактивен

#6 13-08-10 23:10:06

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354

Re: on href

Ну в jquery это preventdefaults(), но вы вроде без нее...

Добавлено спустя 07 мин 17 с:
Как-то совсем с этими перескоками невозможно там читать.
Я понимаю, что с джейквери у вас уже не сложилось, но посмотрите, как это делается в одну строчку...

Автоматическая открывалка-закрывался (с примерами)
https://api.jquery.com/slideToggle/
Далее, в джейквери .next() возвращает следующего соседа. Значит если у вас есть такие конструкции:

<a class="faqlink" ... >вопрос</a><div style="display:none">ответ</div>

(обратите внимание, класс у ссылки: faqlink), то скрипт для открытия и закрытия ответов (которые сами по себе display:none) будет выглядеть так:

$(".faqlink").click(function{ $(this).next().slideToggle();})

Это прописывается в onDocumentLoad один раз где-нибудь в хедере. Для всех ссылок вопрос и всех следующих за ними ответов это будет действовать.
Вся цена вопроса)

Ну и еще можно сказать, что при необходимости туда можно впаять библиотеку работы с куки, чтобы оно запоминало, что открыто, а что закрыто. Это еще одна строчка кода. Но еще один инклюд .js

Редактировался Tiphon (14-08-10 14:50:19)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#7 20-08-10 18:16:09

Luca
Участник
Зарегистрирован: 03-09-09
Сообщений: 1,413

Re: on href

Tiphon, окей обязательно посмотрю, но позже. Хотя если не сложно, не мог бы сделать готовый вариант?

Неактивен

#8 20-08-10 19:30:53

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354

Re: on href

Выложил к знакомой на сайт.

https://alelya.ru/FAQ.aspx

Все там прокомментировано и должно быть просто и понятно.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#9 21-08-10 06:56:43

Luca
Участник
Зарегистрирован: 03-09-09
Сообщений: 1,413

Re: on href

большое спасибо, днем постараюсь глянуть!

Неактивен

#10 21-08-10 15:21:11

Luca
Участник
Зарегистрирован: 03-09-09
Сообщений: 1,413

Re: on href

Tiphon,
Почему-то ссылки на элемент FAQ не разворачиваются
типа: https://stoplinux.org.ru/project/site-FAQ.html#6

И еще после после захода на страницу FAQ на сайте не возможно на любую другую страницу перейти.

Неактивен

#11 21-08-10 15:30:52

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354

Re: on href

Luca пишет:

И еще после после хахода на страницу FAQ на сайте походу Java скрипты перестают вообще работать. Во всяком случае я с этой страницы даже перейти на другую не могу.

Oy prostite, vse delo v
$("a").click(function (event) { event.preventDefault(); });
otkluchaet VSE ssylky.

nado zamenit na
$("a.faqlink").click(function (event) { event.preventDefault(); });
chtoby otkluchit deystvie ssylok classa faqlink


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#12 21-08-10 15:44:54

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354

Re: on href

Mike22 пишет:

тихо балдеет от того, что сперва в ссылку за каким-то органом ставят href="#", а потом с ним героически сражаются с помощью jquerry

A potomu, chto raznye brauzery otnosyatsya k ssylkam po-raznomu daje esli ne stavit #, Nu i validaciya, poetomu preventDefault is better to use)) Skajite spasibo IE v tom chisle. I polsovatelyam ne perehodyashim na novye brauzery.

P.S. I slovo "героически сражаются" slishkom krasochno;
P.S.S. pishu translitom ibo gluki s kxkb v linux, ruki ih ispravit eshe ne doshli


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#13 21-08-10 16:13:41

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354

Re: on href

Mike22 пишет:

<A href="javascript:function()"> работает даже на IE 5.0, ибо классическое решение.

nu ili javascript:void(0).
Ya tebe chestno skaju, chto ploho pomnu v chem tam delo bylo, ya uje goda 3 webom ne zanimalsya. Toli kakoy-nibud dikiy safari eto ne priemlil, toli full validaciu xhtml ono ne prohodilo. Ne pomnu=))) A jquery rabotaet vepde i ne zastavlyaet trahat mozg=)

Ya, kstati ne nastaivau na preventDefault


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#14 21-08-10 21:56:06

Plutonium
Oberststumbannfuhrer
Зарегистрирован: 25-07-10
Сообщений: 342

Re: on href

Mike22 пишет:

<A href="javascript:function()"> работает даже на IE 5.0, ибо классическое решение.

это не классическое решение, а самое верное, потому как если не добавлять псевдопротокол "javascript" страница будет убегать вверх. cool


Смысл жизни в том, чтобы найти этот смысл.

Неактивен

#15 22-08-10 00:05:58

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354

Re: on href

Беда только в том, что разные браузеры имеют разные взгляды на джава скрипт. А пользователи - имеют старые браузеры. Поэтому я, например, очень высоко оценил магию джей-квери и то, что работая с ней можно быстро делать высоко-интерактивные страницы (и эффекты, и анимация, и аджакс с разновидностями) не задумываясь о том, чтобы это работало с основными браузерами (тк.к. оно работает).
Вот я работал с вебом несколько лет назад. И все варианты вроде onMouseOver="this.style='..., подзабылись на столько, что я, смотря на них, не могу сказать, что они будут работать на всех браузерах, пока не напишу и не проверю на всех браузерах (т.е. потрачу время). А когда на каком-то браузере что-то работать не будет, то я еще слажу и потрахаюсь с ним))  (т.е. еще потрачу много времени)

А используя JQuery, я уверен и могу не тратить это время) И при этом очень просто получать офигенный результат) (Даже через несколько лет, когда в голове подробностей уже нет, а остались только концепции. )
Есть и минусы, но в случае в ФАКУ - их нет)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#16 22-08-10 00:45:14

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354

Re: on href

Mike22 пишет:

Минус только один

Угу, минус в быстродействии. Но в данном случае не сказывается)

А быдлокодеров всегда много, когда есть что-то более удобное)) Взять, например, питон)
Более удобное очень часто удобно, но медленно. Поэтому у быдлокодеров особенные проблемы с оптимизацией (остальное-то продумано за них)) .


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

Kwork.ru - услуги фрилансеров от 500 руб.
Мой VPS с 2016 года !
✅ Виртуальные от 300 ₽/месяц, RAM 1-10GB, DISK 20-360 GB;
✅ Выделенные от 3000 ₽/месяц. RAM 4-64GB, DISK до 4TB;
✅ Intel Xeon, SSD, XEN, iLO/KVM, Windows/Linux, Администрирование;
✅ Бесплатно Full Backup и Anti-DDoS.





Подвал форума

Под управлением FluxBB
Модифицировал Visman

Яндекс.Метрика