Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2008, 06:38
Николай Анатольевич
 
Сообщений: n/a

Нужно свокусировать окно на диве.
Размер body w:1000 h:1000
Размер дива по середине: w:100 h:100
Размер окна браузера: w:300 h:300 (Присутствует полоса прокрутки)

Нужно чтобы после загрузки страница проскрулировалась так, чтобы див стоял ровно посередине окна.

Заранее благодарю за любую помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2008, 08:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Если я правильно понял хитрые условия задачи
window.scrollTo(0, 350);
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2008, 11:58
Николай Анатольевич
 
Сообщений: n/a

А если усложнить условия?
Все ок. но только есть еще 2 вопроса.

Что если окно прокрученно уже вниз и вбок? Его тогда нужно в другую сторону крутить. Нужен какой нибудь алгоритм чтобы вверх, вниз, вправо и влево мотать окно. Незная какие есть свойства, мне сложно составить алгоритм.

Надо как нить цифру 350 заменить на какой нить алгоритм, подумав вывел такой алгоритм:

((body w)-(div w))/2
(1000 - 300)/2=350
А вот как реализовать это в коде?
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2008, 22:36
Николай Анатольевич
 
Сообщений: n/a

Никто не знает?
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2008, 23:34
Николай Анатольевич
 
Сообщений: n/a

Ну вобщем сам подумал, поискал, почитал. И родилась такая страница:

Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
<style type="text/css">
BODY {
margin:0;
padding:0;
}

#main {
width:2000px;
height:2000px; 
background-color:#CCFFFF;
}
</style>
<script language="JavaScript1.2">
function sc(){
window.scrollTo(0,0);
window.scrollTo(900-(document.body.clientWidth-200)/2,900-(document.body.clientHeight-200)/2);
}
</script>
</head>

<body onLoad="sc()">
<div id="main">
<div style="position:absolute; left:900px; top:900px; width:200px; height:200px; background-color:#FF0000;"></div>
</div>
</body>
</html>
Самое интересное что работает в опере отлично.
В ие если по вертикали уже прокрученно то встает на прокрученное место после обновления страницы а не на то место которое указал я.

Такая просьба, как сделать чтобы в остальных браузерах было как в опере?

Посмотрите в других браузерах на возможные проблемы плз
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 16:09