Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2009, 17:17
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

Логика спойлера
Добрый день.
Подскажите логику как сделать спойлер.
Что сделано:
структура HTML
<div class="a">видимый текст
 <div class="b">текст который надо скрыть/показать</div>
</div>
...........
<div class="a">видимый текст
 <div class="b">текст который надо скрыть/показать</div>
</div>

Вешаю на все классы "a" событие, которое показывает/скрывает дочерний div.
Это все работает, но при клике на дочерний див, срабатывает событие.
Вот тут я пришел в тупик.
Подскажите логику.
Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2009, 18:41
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

при клике на дочерний див надо останавливать "всплытие" событие. Почитай про event.cancelBubble=true и event.stopPropogation();
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2009, 18:46
Интересующийся
Отправить личное сообщение для Ilya Посмотреть профиль Найти все сообщения от Ilya
 
Регистрация: 09.01.2009
Сообщений: 14

Необходимо было видимый текст поместить в отдельный контейнер (например span), и только после этого вешать на него (span) событие.

1)

http://chernev.ru/delaem-prostejshij-spojler.html

2)

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var vr4 = true;
function fn1() {
	var vr1 = document.getElementById("id1");
	var vr2 = document.getElementById("id2");
	var vr3 = "текст который надо скрыть/показать";
	if(vr4 == true) {
		vr2.innerHTML = vr3;
		vr4 = false;
	}
	else {
		vr2.innerHTML = "";
		vr4 = true;
	}
}
</script>
</head>
<body>
<div><span id="id1" style="cursor: pointer;" onmousedown="fn1()">видимый текст</span>
<div id="id2"></div>
</div>
</body>
</html>

Последний раз редактировалось Ilya, 11.01.2009 в 19:19.
Ответить с цитированием
  #4 (permalink)  
Старый 12.01.2009, 13:11
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

Сообщение от Ilya Посмотреть сообщение
Необходимо было видимый текст поместить в отдельный контейнер (например span), и только после этого вешать на него (span) событие.
спасибо
только я не понял причем тут jquery

http://www.freekick-game.ru/faq

Последний раз редактировалось twolf, 12.01.2009 в 18:35. Причина: добавление информации
Ответить с цитированием
  #5 (permalink)  
Старый 14.01.2009, 03:50
Интересующийся
Отправить личное сообщение для Ilya Посмотреть профиль Найти все сообщения от Ilya
 
Регистрация: 09.01.2009
Сообщений: 14

Так на всякий случай.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт спойлера Jackky Общие вопросы Javascript 2 09.05.2009 02:45