Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Спойлер работает только на один объект на странице. (https://javascript.ru/forum/misc/3629-spojjler-rabotaet-tolko-na-odin-obekt-na-stranice.html)

Shanks 10.05.2009 12:13

Спойлер работает только на один объект на странице.
 
Нашел скрипт спойлера
function showSpoiler(obj)
{
var inner = obj.parentNode.getElementsByTagName("div")[0];
if (inner.style.display == "none")
inner.style.display = "";
else
inner.style.display = "none";
}


<span onClick="showSpoiler(this)" style="cursor:pointer;">Полный трек-лист</span>
<div class="spoiler" style="display:none;">
<ol>
<li>Mulder And Scully</li>
<li>No Stone Unturned</li>
<li>Mantra For The Lost</li>
<li>...</li>
</ol>
</div>


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

Gvozd 10.05.2009 12:43

берете в следующий раз и открываете учебник по JS-у
и сами разбираетесь в скрипте.
раз вы усудряетесь неправильно читать как ими пользоватся, либо находите недокументированное г*но
здесь не пишут за вас скрипты, и не правят всякий хлам, который вы откопали неизвестно где. здесь вам помогут научится.
PS по теме:оберните этот спойлер во внешний тег(например DIV). и так с каждым из них.

Shanks 10.05.2009 12:43

Вопрос снят, нашелся работающий вариант, ну что интересно, он не вылезает в поиске при запросе "спойлер" ;)

http://javascript.ru/forum/misc/2238...akryt-ego.html

Shanks 10.05.2009 12:58

здесь не пишут за вас скрипты
я собственно и не просил никого писать, лишь хотел чтобы
" Помогите довести до нормального рабочего состояния :) "

берете в следующий раз и открываете учебник по JS-у
Хорошая мысль :) , я бы так и сделал, если бы собирался писать супер-пупер сайт на JS, но когда необходимо вставить какие-то пустяковые функции, открывать учебник, и ради этого часами проводить у него не стоит того :)

Блогадарю за подсказку, теперь я не знаю какое из двух лучше использовать :D
P.S. да кстати, а зачем во втором примере в событие onclick добавляется return false?

Gvozd 10.05.2009 14:53

Цитата:

Сообщение от Shanks
но когда необходимо вставить какие-то пустяковые функции, открывать учебник, и ради этого часами проводить у него не стоит того

да.
в таком случае стоит заплатить проффесионалу, который уже давно прошел этот этап.

потому что кормить готвыми решениями вас тут особо не будут.
хотите, чтобы у вас работал скрипт, то научитесь/допишите/исправьте/напишите с нуля его сами. Не хотите третить свое время на изучение JS -- делегируйте эту работу кому-то за деньги.

Цитата:

Сообщение от Shanks
P.S. да кстати, а зачем во втором примере в событие onclick добавляется return false?

а зачем вам это знать, если вы не собираетесь изучать JavaScript?:D
return false стоит, чтобы подавить стандартную обработку события(в случае ссылки - блокируется переход по ней, к примеру)


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