Показать сообщение отдельно
  #23 (permalink)  
Старый 14.03.2009, 03:16
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

ну, наконец-то я дождался от тебя еще олной попытки сделать самому.
Молодец!
теперь, показываю как это надо чтобы заработало:
Код:
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{

if(window.per!=undefined)
per.style.display='none'
obj.style.display='block';
per = document.getElementById('a' + numericID);
} 
}
поясняю:
window - глобальный объект, видимый везде.
его свойства и являются глобальными переменными, также видимые везде.
правда имена переменных могут замещатся локальной областью видимости, но это отдельная тема
обратившись к глобальной переменной, через window.per не будет выпадать ошибка, даже если переменная еще не создана.
а вот, без window, скрипт может упасть в случае отстутствия этой переменной в какой-либо области видимости.
кроме как для проверки, window.per здесь применять необязательно.
главное не напиши var, как ты написал.
это создает локальную область видимости
Ответить с цитированием