Изменить текст ссылки
Добрый день!
Я человек в 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, время: 10:58. |