Показать сообщение отдельно
  #2 (permalink)  
Старый 04.07.2009, 01:02
Новичок на форуме
Отправить личное сообщение для fed0R Посмотреть профиль Найти все сообщения от fed0R
 
Регистрация: 01.07.2009
Сообщений: 7

Сам нашёл ответ на этот вопрос. Вот код JavaScript'а, который у меня получился:

window.onload = function() {

for(var i = 1; i; i++) { //цикл исполняется до тех пор, пока i существует

document.getElementById('visible' + i).onclick = function() { //все div'ы с id='visible1', 'visible2' и т.д.

var z = this.id.charAt(this.id.length - 1); //извлекаем последний символ (цифру) из id='visible1', 'visible2' и т.д.

var S = document.documentElement.scrollTop; //значение величины вертикальной прокрутки окна

document.getElementById('hidden' + z).style.left = 25 + 'px'; //присваеваем эл-ам с id='hidden1', 'hidden2' и т.д. отступ от левого края окна, равный 25 px

document.getElementById('hidden' + z).style.top = (25 + S) + 'px'; //присваеваем эл-ам с id='hidden1', 'hidden2' и т.д. отступ от верхнего края окна, равный 25 px

document.getElementById('hidden' + z).style.display = 'block'; //делаем видимыми эл-ты с id='hidden1', 'hidden2' и т.д.

return false;

}

document.getElementById('close' + i).onclick = function() {

var y = this.id.charAt(this.id.length - 1);

document.getElementById('hidden' + y).style.display = 'none';

return false;

}

}

}


Осталось решить два вопроса:
- ie6 почему-то пишет "ошибка на странице", хотя всё работает;
- google chrome, видимо, не понимает свойство scrollTop, потому что все раскрывающиеся блоки распологаются в самом верху страницы, высота прокрутки не учитывается.

Кто подскажет ответ, тому буду благодарен))

P.S. В опере и мозилле работает.
Ответить с цитированием