Показать сообщение отдельно
  #2 (permalink)  
Старый 12.08.2008, 16:32
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

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>
Ответить с цитированием