Dallas
Guest
Проблемы со счетчиком в раскрывающемся меню.
Хочу сделать меню наподобие той, что на деталях. Вывожу блоки:
<b onClick="showhide(1)">+</b>А<br>
<div id="1">А1</div>
<b onClick="showhide(2)">+</b>Б<br>
<div id="1">Б1</div>
Вот скрипт на функцию showhide.
counter=0
function showhide(id) {
if (counter == 0) {
document.getElementById(id).style.display = "none"
counter++
}
else {
document.getElementById(id).style.display = "block"
counter=0
}
}
но тут проблема у втом, что для всех id counter один и тот же. Соотв. действия с одним из меню влияют на состояния counter, а как следствие и на реакцию на клик другого меню (может потребоваться кликнуть дважды, чтобы каунтер вошел в фазу). Эту проблему пробовал решить таким образом:
var arrayObj = new Object();
function showhide(id) {
if (arrayObj.id == 0) {
document.getElementById(id).style.display = "none"
arrayObj.id++
}
else {
document.getElementById(id).style.display = "block"
arrayObj.id=0
}
}
чтобы счетчик привязать к id, но это не работает (работает так же, как и с коунтером. Я так подозреваю, что ошибка тут в типе данных. В чем ошибка?
-~{}~ 24.08.04 17:44:
Поправка:
<div id="2">Б1</div>
Хочу сделать меню наподобие той, что на деталях. Вывожу блоки:
<b onClick="showhide(1)">+</b>А<br>
<div id="1">А1</div>
<b onClick="showhide(2)">+</b>Б<br>
<div id="1">Б1</div>
Вот скрипт на функцию showhide.
counter=0
function showhide(id) {
if (counter == 0) {
document.getElementById(id).style.display = "none"
counter++
}
else {
document.getElementById(id).style.display = "block"
counter=0
}
}
но тут проблема у втом, что для всех id counter один и тот же. Соотв. действия с одним из меню влияют на состояния counter, а как следствие и на реакцию на клик другого меню (может потребоваться кликнуть дважды, чтобы каунтер вошел в фазу). Эту проблему пробовал решить таким образом:
var arrayObj = new Object();
function showhide(id) {
if (arrayObj.id == 0) {
document.getElementById(id).style.display = "none"
arrayObj.id++
}
else {
document.getElementById(id).style.display = "block"
arrayObj.id=0
}
}
чтобы счетчик привязать к id, но это не работает (работает так же, как и с коунтером. Я так подозреваю, что ошибка тут в типе данных. В чем ошибка?
-~{}~ 24.08.04 17:44:
Поправка:
<div id="2">Б1</div>