Сам нашёл ответ на этот вопрос. Вот код 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. В опере и мозилле работает.
|