Не бюро так не бюро. Значит найду не бюро, но все же место где мне помогут.
|
Народ что-то везде пассивный какой-то, решил попробовать написать сам.
Вот что вышло. Только скрипт вобще перестал работать, не показывает не скрывает! <script type="text/javascript"> function showHideAnswer() { var numericID = this.id.replace(/[^\d]/g,''); var obj = document.getElementById('a' + numericID); if(obj.style.display=='block'){ obj.style.display='none'; }else{ per.style.display='none' obj.style.display='block'; var per = document.getElementById('a' + numericID); } } function initShowHideContent() { var divs = document.getElementsByTagName('DIV'); for(var no=0;no<divs.length;no++){ if(divs[no].className=='question'){ divs[no].onclick = showHideAnswer; } } } window.onload = initShowHideContent; </script> |
ну, наконец-то я дождался от тебя еще олной попытки сделать самому.:)
Молодец! теперь, показываю как это надо чтобы заработало: Код:
window - глобальный объект, видимый везде. его свойства и являются глобальными переменными, также видимые везде. правда имена переменных могут замещатся локальной областью видимости, но это отдельная тема обратившись к глобальной переменной, через window.per не будет выпадать ошибка, даже если переменная еще не создана. а вот, без window, скрипт может упасть в случае отстутствия этой переменной в какой-либо области видимости. кроме как для проверки, window.per здесь применять необязательно. главное не напиши var, как ты написал. это создает локальную область видимости |
Я так понял скрипт не работал, из-за "пустого" per.style.display ?
|
1)несуществующий per.style.display, и непроверенный
2)неправильное назначение области видимости.если использовать var, то переменная принадлежит только локальной области видимости, и после завершения функции ее значение в данном случае теряется. без var переменная назначается глобальной области видимости |
Понятно. Спасибо за помощь!
|
пожалуйста.
я рад, что вы все-таки сделали попытку самостоятельного решения задачи |
Часовой пояс GMT +3, время: 21:03. |