Не бюро так не бюро. Значит найду не бюро, но все же место где мне помогут.
|
Народ что-то везде пассивный какой-то, решил попробовать написать сам.
Вот что вышло. Только скрипт вобще перестал работать, не показывает не скрывает!
<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, время: 07:30. |