Показать сообщение отдельно
  #3 (permalink)  
Старый 20.10.2010, 12:58
Кандидат Javascript-наук
Отправить личное сообщение для Jurasmi Посмотреть профиль Найти все сообщения от Jurasmi
 
Регистрация: 25.11.2008
Сообщений: 115

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
		<title>Тест скроллинга</title>
		<style type="text/css">
			.menu {
				list-style:none;
				padding:0;
				border: 1px solid black;
				overflow:auto;
				height:300px;
				margin:0 0 2em 0;
			}
		</style>

		<script type="text/javascript">
			window.onload = function(){
				var prev = function(elem){
						do{
							elem = elem.previousSibling;
						}while (elem && elem.nodeType != 1);
						return elem;
					},
					
					scrollToElement = function(theElement){
						var selectedPosY = 0,
							menu = theElement.parentNode,
							elH = theElement.offsetHeight;
						
						while(theElement != null){
							selectedPosY += theElement.offsetHeight;
							theElement = prev(theElement);
						}
						menu.scrollTop = selectedPosY - menu.offsetHeight/2 - elH/2;
					};
				
				
				scrollToElement(document.getElementById("this_centre1"));
				scrollToElement(document.getElementById("this_centre2"));
			}
		</script>
	</head>

	<body>
		<ul class="menu">
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li id="this_centre1" style="color:red">Пункт1</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li>
		</ul>

		<ul class="menu">
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li>
			<li id="this_centre2" style="color:red">Пункт1</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li><li>Пункт</li><li>Пункт</li>
			<li>Пункт</li>
		</ul>
	</body>
</html>
Ответить с цитированием