![]() |
|
||||||||||
|
|||||
|
Привет, вопрос такой:
есть такая штука <a href="" onClick="putElem('n1'); return false;">ссылка </a> <div id="n1" style="display:none; text-align:justify;"> текст все дела.... </div> Ссылка открывает текст. Вопрос: как сделать так чтобы при открытом тексте можно было нажать на ту же ссылку и она закрывала окно с текстом? Спасибо |
|
|||||
|
Ветеран форума
|
немножко подумать...
ещё немножко подумать... ещё... ещё... вот оно! озарение!!! нет.. не появилось? прийдётся спасать человека... в своей функции пишешь if (open == 1) { прячем слой; open = 0; } else { открываем слой; open = 1; } как всегда всё идеальое просто! =) |
|
|||||
|
Извини, я этом туповат
, не мог бы ты обяснить поподробнее.Большой тебе спасиб. |
|
|||||
|
<script>
var open = 0; function putElem(){ if (open == 0){ n1.style.visibility = "visible"; open = 1; } else { n1.style.visibility = "hidden"; open = 0; } } </script> <a href="" onClick="putElem(); return false;">ссылка </a> <div id="n1" style="position:absolute;visibility:hidden;text-align:justify;"> текст все дела.... </div>
__________________
:confused: :( :eek: :D :rolleyes: :p ;) :) :o :cool: :mad: Во имя процессора-отца, процесса-сына и святого root'а. Аминь. |
|
|||||
|
Огромное спасибо.
И последний вопрос: А если элементов много... То тогда каа нужно писать |
|
|||||
|
хм, много....
<script> var open_n1 = 0; var open_n2 = 0; var open_n3 = 0; var open_n4 = 0; function putElem(abs){ if (eval("open_"+abs) == 0){ abs.style.visibility = "visible"; eval("open_"+abs) = 1; } else { abs.style.visibility = "hidden"; eval("open_"+abs) = 0; } } </script> <a href="" onClick="putElem('n1'); return false;">ссылка 1</a> <a href="" onClick="putElem('n2'); return false;">ссылка 2</a> <a href="" onClick="putElem('n3'); return false;">ссылка 3</a> <a href="" onClick="putElem('n4'); return false;">ссылка 4</a> <div id="n1" style="position:absolute;visibility:hidden;text-align:justify;"> текст все дела.... 1 </div> <div id="n2" style="position:absolute;visibility:hidden;text-align:justify;"> текст все дела.... 2 </div> Все так просто.... Только не переусердствуй ![]()
__________________
:confused: :( :eek: :D :rolleyes: :p ;) :) :o :cool: :mad: Во имя процессора-отца, процесса-сына и святого root'а. Аминь. Последний раз редактировалось StimS; 22.07.2002 в 00:31. |
|
|||||
|
Не работает почему то , вроде всё правильно делаю....
![]() |
|
|||||
|
Цитата:
1) Неопознает что abs это переменная, а не название слоя 2) Не может задать значение функции (т.е. надо как-то объединить "open_" + abs, но eval(); не подходит Оказывается, не так все просто ![]()
__________________
:confused: :( :eek: :D :rolleyes: :p ;) :) :o :cool: :mad: Во имя процессора-отца, процесса-сына и святого root'а. Аминь. |
|
|||||
|
Такая же штука есть на www.novosibirsk.ru в разделе новостей
но у них не совсем то что мне нужно... |
|
|||||
|
Ветеран форума
|
if (navigator.appName == "Netscape"){
layerRef="document.layers";
styleSwitch="";
}else{
layerRef="document.all";
styleSwitch=".style";}
function hideLayer(layerName)
{eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"');}
function showLayer(layerName)
{eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"');}
вызываются две функции showLayer(n1) hideLayer(n1) =) |
![]() |
Часовой пояс GMT +4, время: 20:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|