Вопрос по JavaScript

BULKA8

Пытась приспособить такой скрипт:
<script>
function showBook() {
document.getElementById("gbook").style.display = "block";
document.getElementById("gbookButton").style.display = "none";
}
function hideBook() {
document.getElementById("gbook").style.display = "none";
document.getElementById("gbookButtonHide").style.display = "none";
}
</script>
<INPUT id=gbookButton onclick="javascript: showBook();" type=button value="Show New Text">
<DIV id=gbook style="DISPLAY: none">
<P>New Text</P>
<INPUT id=gbookButtonHide onclick="javascript: hideBook();" type=button value="Hide New Text">
</DIV>
При нажатии на кнопку "Show New Text" открывается скрытый текст завершающийся другой кнопкой - "Hide New Text", нажатие на которую вновь скрывает текст.
Но тут проблема: при скрытии не возвращается первоначальная кнопка ("Show New Text").
Все что я смог придумать - добавил третью строку в function hideBook() - это вторая строка из первой функции заменив свойство на block:
document.getElementById("gbookButton").style.display = "block";
Это вернуло первоначальнуюб кнопку, но при нажатии она раскрывает скрытый текст, но без кнопки закрытия. И все, тупик.
Надо обновлть страницу, что неудобно.
Наверное нужна какая-то итеррация, но я пас.
Можно ли как-то поправить?
Второе.
Таких блоков надо много. Тогда приходится на каждую писать свою пару функций.
Нельзя ли написать одну такую пару на всю страницу и дальше использовать только индивидуальеый код.

okis

нужно в hideBook добавить вызов document.getElementById("gbookButton").style.display = "block";
Нельзя ли написать одну такую пару на всю страницу и дальше использовать только индивидуальеый код
Можно
используй jquery, будет понятнее

BULKA8

я уже написал, что так и сделал. Но это вернуло первоначальнуюб кнопку, но при нажатии она раскрывает скрытый текст, но без кнопки закрытия. И все, тупик.
Что такое jquerry я не знаю, и рассчитываю обойтись без изучения языка.

okis

document.getElementById("gbookButtonHide").style.display = "none";
а вот это, наоборот, удалить

BULKA8

проблема остается. Повторное нажатие на кнопку открытия текста открывает его уже без кнопки закрытия, так что потом его уже не уберешь - только refresh

secamich

 
<script>
  function showBook(id) {
    document.getElementById("gbook_" + id).style.display = "block";
    document.getElementById("gbookButton_" + id).style.display = "none";
     }
  function hideBook(id) {
    document.getElementById("gbook_" + id).style.display = "none";
    document.getElementById("gbookButton_" + id).style.display = "block";
     }
</script>
<INPUT id="gbookButton_1" onclick="javascript: showBook(1);" type="button" value="Show New Text 1">
<DIV id="gbook_1" style="DISPLAY: none">
<P>New Text 1</P>
<INPUT id="gbookButtonHide_1" onclick="javascript: hideBook(1);" type="button" value="Hide New Text 1">
</DIV>
<INPUT id="gbookButton_2" onclick="javascript: showBook(2);" type="button" value="Show New Text 2">
<DIV id="gbook_2" style="DISPLAY: none">
<P>New Text 2</P>
<INPUT id="gbookButtonHide_2" onclick="javascript: hideBook(2);" type="button" value="Hide New Text 2">
</DIV>
<INPUT id="gbookButton_3" onclick="javascript: showBook(3);" type="button" value="Show New Text 3">
<DIV id="gbook_3" style="DISPLAY: none">
<P>New Text 3</P>
<INPUT id="gbookButtonHide_3" onclick="javascript: hideBook(3);" type="button" value="Hide New Text 3">
</DIV>

Грустный «код».

BULKA8

спасибо. А почему код в скобках?
Не корректно?

secamich

Да это я так, эстетствую. Решение больно кустарное в целом.

BULKA8

:)
Оставить комментарий
Имя или ник:
Комментарий: