Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.05.2010, 17:36
Новичок на форуме
Отправить личное сообщение для POMAH-UST Посмотреть профиль Найти все сообщения от POMAH-UST
 
Регистрация: 19.05.2010
Сообщений: 8

По поводу расположения элемента по центру экрана браузера
Начал изучение JavaScript написал первый примерчик и столкнулся с такой проблеммой - всё хорошо элемент появляется по середине экрана, но если изменять размер окна браузера то элемент не подстраивается под размеры. Как осуществить такое действо, вот пример моего творения:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<script type="text/javascript">
function opacity(e)
{
	var opacity = document.getElementById('opacity');
	var form = document.getElementById('form');
	if(e == true)
	{	
		opacity.removeAttribute('class');
		form.removeAttribute('class');
		var width = (document.documentElement.clientWidth - form.offsetWidth)/2;
		var height = (document.documentElement.clientHeight - form.offsetHeight)/2;				
		form.style.top = height + 'px';
		form.style.left = width + 'px';
	}
	else
	{
		opacity.setAttribute('class', 'hidden');
		form.setAttribute('class', 'hidden');
	}
}
</script>
<style type="text/css">
.hidden {
	display: none;
}
#opacity {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.4;
	filter: alpha(opacity=40);
	z-index: 1;
}
#form {
	position: absolute;
	padding: 0px 10px 10px 10px;
	background: #f0f;
	z-index: 2;
}
.cursor {
	cursor: pointer;
}
</style>
</head><body>
<div id="opacity" class="hidden"></div>
<div id="form" class="hidden">
  <span class="cursor" onclick="opacity(0);">x</span>
  <form action="" method="post">
  Ваш логин:<br>
  <input class="itext" type="text" name="login" maxlength="30"><br>
  Ваш пароль:<br>
  <input class="itext" type="password" name="password" maxlength="30"><br>
  <br>
  <input class="ibutton" type="submit" value="Войти">
  </form>
</div>
<a href="#" onmousedown="opacity(1);">Затемнить окно?</a><br>
</body></html>

Предложения обратиться к jQuery не приветствуются, а то я туда сунулся было и чуть с ума не сошёл, надо сначало так JavaScript выучить. Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 19.05.2010, 17:37
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

используй событие onresize у документа
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 19.05.2010, 17:46
Новичок на форуме
Отправить личное сообщение для POMAH-UST Посмотреть профиль Найти все сообщения от POMAH-UST
 
Регистрация: 19.05.2010
Сообщений: 8

А можно подробнее на данном примере куда это вставлять
Ответить с цитированием
  #4 (permalink)  
Старый 19.05.2010, 18:08
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Я вот тут писал, как это можно легко делать
Ответить с цитированием
  #5 (permalink)  
Старый 19.05.2010, 18:32
Новичок на форуме
Отправить личное сообщение для POMAH-UST Посмотреть профиль Найти все сообщения от POMAH-UST
 
Регистрация: 19.05.2010
Сообщений: 8

subzey,
спасибо, но для меня пока трудновато, можно по моему вопросу ответ
Ответить с цитированием
  #6 (permalink)  
Старый 19.05.2010, 22:50
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

POMAH-UST,
вам дали готовое решение уже, и одно полуготовое
если вы не в состоянии в нем разобраться, то либо садитесь учить JS с самых азов, и усердно, либо обратитесь в раздел работа
Ответить с цитированием
  #7 (permalink)  
Старый 20.05.2010, 09:19
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Ну например так.

onresize = function()
{
Здесь получайте размеры окна и позиционируйте своё, относительно.
}
__________________
.
Ответить с цитированием
  #8 (permalink)  
Старый 20.05.2010, 12:48
Новичок на форуме
Отправить личное сообщение для POMAH-UST Посмотреть профиль Найти все сообщения от POMAH-UST
 
Регистрация: 19.05.2010
Сообщений: 8

Skipp,
спасибо за помощь сделал так:
function opacity(e)
{
	var opacity = document.getElementById('opacity');
	var form = document.getElementById('form');
	if(e == true)
	{
		opacity.removeAttribute('class');
		form.removeAttribute('class');		
		var width = (document.documentElement.clientWidth - form.offsetWidth)/2;
		var height = (document.documentElement.clientHeight - form.offsetHeight)/2;		
		form.style.top = height + 'px';
		form.style.left = width + 'px';
		resize(true);
	}
	else
	{
		opacity.setAttribute('class', 'hidden');
		form.setAttribute('class', 'hidden');
		resize(false);
	}	
}
function resize(e)
{
	if(e == true) window.onresize = function () { opacity(1); }
	else window.onresize = function () { opacity(0); }
}
Ответить с цитированием
  #9 (permalink)  
Старый 20.05.2010, 12:52
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

кривовато конечно
Можно было бы проще.

Видно, что только начинаешь.
Ничего со временем разберёшься
__________________
.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение элемента по середине экрана rolling Events/DOM/Window 5 17.12.2011 17:12
Расположения главного дива по центру lammeR (X)HTML/CSS 3 03.04.2010 16:16
Фиксация элемента внизу окна браузера Макс Events/DOM/Window 1 25.08.2008 13:46
Реклама по центру окна браузера Макс Элементы интерфейса 2 15.06.2008 00:55