Страницы 1
Есть простенький код, который разворачивает элемент при клике на него
<li><a href="#1" onclick="toggle_visibility('1');">- Куда я попал?</a></li>
<div id="1" style="display:none"><p>Вы попали на наш сайт</p></div>
Мне необходимо сделать обработку не только по onclick но и по простой ссылке, т.е. я даю ссылку
/#1
на элемент и он разворачивается. Как это сделать? Сейчас при переходе на ссылку элемент не раскрывается.
Неактивен
Для таких вещей удобно использоввать
https://docs.jquery.com/Tutorials
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
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>
Неактивен
Неактивен
Mike22,
Все спасибо разобрался! С вносом в тело функции сам ошибся т.к. проверял и так и сяк.
Добавлено спустя 35 мин 13 с:
Все новый FAQ по сайту залит. Единственное хотелось бы узнать, как сделать чтобы при открытии элемента на него не перебрасывало т.е. он просто бы открывался без сдвига к верхней части окна браузера?
Добавлено спустя 38 мин:
Причем в FireFox перебрасывает и при закрытии и при открытии свернутого элемента, в Opera только при его закрытии.
Неактивен
Ну в 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 - современный учитель.
Неактивен
Tiphon, окей обязательно посмотрю, но позже. Хотя если не сложно, не мог бы сделать готовый вариант?
Неактивен
большое спасибо, днем постараюсь глянуть!
Неактивен
Tiphon,
Почему-то ссылки на элемент FAQ не разворачиваются
типа: https://stoplinux.org.ru/project/site-FAQ.html#6
И еще после после захода на страницу FAQ на сайте не возможно на любую другую страницу перейти.
Неактивен
И еще после после хахода на страницу 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 - современный учитель.
Неактивен
тихо балдеет от того, что сперва в ссылку за каким-то органом ставят 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 - современный учитель.
Неактивен
<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 - современный учитель.
Неактивен
<A href="javascript:function()"> работает даже на IE 5.0, ибо классическое решение.
это не классическое решение, а самое верное, потому как если не добавлять псевдопротокол "javascript" страница будет убегать вверх.
Смысл жизни в том, чтобы найти этот смысл.
Неактивен
Беда только в том, что разные браузеры имеют разные взгляды на джава скрипт. А пользователи - имеют старые браузеры. Поэтому я, например, очень высоко оценил магию джей-квери и то, что работая с ней можно быстро делать высоко-интерактивные страницы (и эффекты, и анимация, и аджакс с разновидностями) не задумываясь о том, чтобы это работало с основными браузерами (тк.к. оно работает).
Вот я работал с вебом несколько лет назад. И все варианты вроде onMouseOver="this.style='..., подзабылись на столько, что я, смотря на них, не могу сказать, что они будут работать на всех браузерах, пока не напишу и не проверю на всех браузерах (т.е. потрачу время). А когда на каком-то браузере что-то работать не будет, то я еще слажу и потрахаюсь с ним)) (т.е. еще потрачу много времени)
А используя JQuery, я уверен и могу не тратить это время) И при этом очень просто получать офигенный результат) (Даже через несколько лет, когда в голове подробностей уже нет, а остались только концепции. )
Есть и минусы, но в случае в ФАКУ - их нет)
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
Минус только один
Угу, минус в быстродействии. Но в данном случае не сказывается)
А быдлокодеров всегда много, когда есть что-то более удобное)) Взять, например, питон)
Более удобное очень часто удобно, но медленно. Поэтому у быдлокодеров особенные проблемы с оптимизацией (остальное-то продумано за них)) .
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
Страницы 1