M.C.,
Можете попробовать вот такой вариант. Он может показаться не самым простым, для человека незнакомым с javascript, но я смог быстро придумать только это:
<html>
<head>
<script>
// Обворачиваем функцию toggle в локальное замыкание:
var toggle = function() {
// Ссылка на текущий открытый div:
var currentDiv = null;
// Функция для "раскрытия" элемента:
function open(divElement) {
// Тут можно добавить эффект "плавного" открытия:
divElement.style.display = "block";
currentDiv = divElement;
}
// Функция для "закрытия" элемента:
function close(divElement) {
// Тут можно добавить эффект "плавного" закрытия:
divElement.style.display = "none";
currentDiv = null;
}
// Возвращаем функцию, которая будет вызываться по toggle()
return function(divID) {
// Получаем элемент из DOM
var divElement = document.getElementById(divID);
// Если такой есть:
if (divElement) {
// Если уже открыт какой-то div - закрываем.
if(currentDiv != null) close(currentDiv);
// Открываем вызваный.
open(divElement);
}
}
// Вызываем нашу "обертку", теперь toggle() вызывает функцию, описанную по "return"
}();
</script>
<style>
.myDiv {
display: none;
}
</style>
</head>
<body>
<a href="javascript://" onClick="toggle('div1')">Link1</a>
<div class="myDiv" id="div1">
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
</div>
<br />
<a href="javascript://" onClick="toggle('div2')">Link2</a>
<div class="myDiv" id="div2">
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
</div>
<br />
<a href="javascript://" onClick="toggle('div3')">Link3</a>
<div class="myDiv" id="div3">
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
Содержание<br />
</div>
<br />
</body>
</html>