Изменить текст ссылки
Добрый день!
Я человек в javascript новый, поэтому просьба особа не пинать. Имеем <script language="JavaScript"> function OpenOne(){ if (document.getElementById("SelectOne").style.display == "none"){ document.getElementById("SelectOne").style.display = "block"; } } function CloseOne(){ if (document.getElementById("SelectOne").style.display == "block"){ document.getElementById("SelectOne").style.display = "none"; } } </script> <a href="javascript:onclick=OpenOne();">Открыт </a> <div id=SelectOne style="display: none;"> Какой то текст <a href="javascript:onclick=CloseOne();">закрыт ь</a> </div> Все работает. Но когда пытаюсь поменять текст в ссылке, то блок у меня воспринимается всегда как 'none'. Делаю следующее Вместо 'Открыть и закрыть' ставлю код: <script language="JavaScript"> if (document.getElementById("SelectOne").style.display == "none"){ document.write('Открыть'); } else { document.write('Закрыть'); } </script> и он естественно не срабатывает. Как сделать? P.S. Еще вопрос. Не нашел в js оператора elseif. Есть ли он вообще? |
Цитата:
http://javascript.ru/if |
Цитата:
Как вариант... <script type="text/javascript"> function Go(Obj) { Obj.innerHTML=(Obj.innerHTML=='Открыть')? 'Закрыть': 'Открыть'; } </script> <a href='#' onclick="Go(this); return false;">Открыть</a> |
Понял. Спасибо.
А саму ссылку можно как-то поменять, чтобы вызвать функцию CloseOne() или OpenOne() |
Цитата:
|
Цитата:
Вроде я туплю... |
Romanich, теперь и я не понял что тебе нужно... :(
|
Romanich, то мобуть такое?
<style type="text/css"> #text { display: none; } </style> <script type="text/javascript"> function Open() { document.getElementById('open').style.display='none'; document.getElementById('text').style.display='block'; } function Close() { document.getElementById('open').style.display='block'; document.getElementById('text').style.display='none'; } </script> <p id='open'> <a href='#' onclick="Open();">Открыть?</a> </p> <div id='text'> <p> Какой то текст <a href='#' onclick="Close();">закрыть</a> </p> </div> |
Извиняюсь, что не внятно описал. С утра голова раскалывается.
Есть две функции, одна открывает блок OpenOne(), другая скрывает CloseOne(). Соответственно, нужен линк клик по которому вызывает одну или вторую функцию. Линк "Открыть" вызывает функцию OpenOne() и блок открывается. Одновременно линк "открыть" меняется на линк "закрыть", при клике по которому вызывается функция CloseOne() |
Цитата:
Если все "делает" только один элемент - 2 функции тут не нужны. :) <style type="text/css"> #text { display: none; } </style> <script type="text/javascript"> function Go(Obj) { if (Obj.innerHTML=='Открыть') { document.getElementById('text').style.display='block'; Obj.innerHTML='Закрыть'; } else { document.getElementById('text').style.display='none'; Obj.innerHTML='Открыть'; }; } </script> <p> <a href='#' onclick="Go(this);">Открыть</a> </p> <div id='text'> <p>Какой то текст</p> </div> |
Часовой пояс GMT +3, время: 13:25. |