Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отцентровать DIV, каким образом? 
:(
    Опции темы
Bangladesh
Дата 21.12.2005, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: -1
Всего: 17



каким образом можно узнать высоту окна броузера (т.е. самого просторанства отображения разметки) и через него изменить параметр top какого-либо дива. допустим по такой функции:

h = 1024 \* Высота окна. Её нужно узнать*\
pich = 460 \* Высота дива *\
t = (1024 \ 2) - (460 \ 2)


это не на какм либо языке. просто описание алгоритма. как передать значение это в параметр top определенного дива.... ?


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Ciber SLasH
Дата 22.12.2005, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Почитай внимательно скрипт в этом посте: http://forum.vingrad.ru/index.php?showtopi...ndpost&p=495265
Должно помочь...
PM   Вверх
Bangladesh
Дата 22.12.2005, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: -1
Всего: 17



Код

<script type="text/javascript" language="JavaScript">
var bodyh = window.clientHeight;
var otop = (windows.innerHeight/2) - 230;
document.getElementById("logo").top = otop;
</script>


не помогло мне это. непонятно ничего. там как всегда массивы всяких проверок и подобной инфы. мне они не нужны, просто галимо по центру... как сделать?


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Ciber SLasH
Дата 22.12.2005, 03:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Вот так можно оцентрировать элемент в родительском элементе:
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content='text/html; charset=windows-1251'>
<meta http-equiv="MSThemeCompatible" content='Yes'>
<meta name="Generator" content='EditPlus 2.21.330'>
<meta name="Author" content='Ciber SLasH'>
<title>JavaScript :: Центрирование элемента в родителе</title>
<script type='text/javascript'>
/*** Размер родителя элемента ***/
function getParentSize(id) {
var elem = document.getElementById(id).parentNode;
var w,h;
    if (elem.tagName != "BODY") {
        if (elem.clientHeight) {
            w = elem.clientWidth;
            h = elem.clientHeight;
        } else if (elem.offsetHeight) {
            w = elem.offsetWidth;
            h = elem.offsetHeight;
        }
    } else if (self.innerHeight) {
        w = self.innerWidth;
        h = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        w = document.documentElement.clientWidth;
        h = document.documentElement.clientHeight;
    } else if (document.body) {
        w = document.body.clientWidth;
        h = document.body.clientHeight;
    }
return (w || h) ? {width: w, height: h} : 0;
}

/*** Размер скроллинга ***/
function getScrolling(id) {
var elem = document.getElementById(id).parentNode;
var x,y;
    if (elem.tagName != "BODY" && elem.scrollTop) {
        x = elem.scrollLeft;
        y = elem.scrollTop;
    } else if (self.pageYOffset) {
        x = self.pageXOffset;
        y = self.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    } else if (document.body) {
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    }
return (x || y) ? {scrollX: x, scrollY: y} : 0;
}

/*** Размер элемента ***/
function getObjSize(id) {
var elem = document.getElementById(id);
var w,h;
    if (elem.offsetWidth) {
        w = elem.offsetWidth;
        h = elem.offsetHeight;
    } else if (elem.clip && elem.clip.width) {
        w = elem.clip.width;
        h = elem.clip.height;
    } else if (elem.style && elem.style.pixelWidth) {
        w = elem.style.pixelWidth;
        h = elem.style.pixelHeight;
    }
return (w || h) ? {width: parseInt(w), height: parseInt(h)} : 0;
}

onload = function () {
var parentSize = getParentSize("test");
var scrolling = getScrolling("test");
var scrollX = (scrolling) ? scrolling.scrollX : 0;
var scrollY = (scrolling) ? scrolling.scrollY : 0;
var elem = document.getElementById("test");
var elemSize = getObjSize("test");
var left = Math.round(parentSize.width/2 - elemSize.width/2 + scrollX);
var top = Math.round(parentSize.height/2 - elemSize.height/2 + scrollY);
    elem.style.left = left + "px";
    elem.style.top = top + "px";
}
</script>
<style type='text/css'>
#test {width: 100px; height: 100px; background: yellow; position: absolute}
</style>
</head>

<body>
<div id='pre' style='height: 300px; position: relative; border: 1px solid; overflow: auto'>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</div>
<div id='test'></div>
</body>
</html>

Если не нужно учитывать родителя, то так:
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content='text/html; charset=windows-1251'>
<meta http-equiv="MSThemeCompatible" content='Yes'>
<meta name="Generator" content='EditPlus 2.21.330'>
<meta name="Author" content='Ciber SLasH'>
<title>JavaScript :: Центрирование элемента по окну браузера</title>
<script type='text/javascript'>
/*** Размер родителя элемента ***/
function getParentSize() {
var w,h;
    if (self.innerHeight) {
        w = self.innerWidth;
        h = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        w = document.documentElement.clientWidth;
        h = document.documentElement.clientHeight;
    } else if (document.body) {
        w = document.body.clientWidth;
        h = document.body.clientHeight;
    }
return (w || h) ? {width: w, height: h} : 0;
}

/*** Размер скроллинга ***/
function getScrolling() {
var x,y;
    if (self.pageYOffset) {
        x = self.pageXOffset;
        y = self.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    } else if (document.body) {
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    }
return (x || y) ? {scrollX: x, scrollY: y} : 0;
}

/*** Размер элемента ***/
function getObjSize(id) {
var elem = document.getElementById(id);
var w,h;
    if (elem.offsetWidth) {
        w = elem.offsetWidth;
        h = elem.offsetHeight;
    } else if (elem.clip && elem.clip.width) {
        w = elem.clip.width;
        h = elem.clip.height;
    } else if (elem.style && elem.style.pixelWidth) {
        w = elem.style.pixelWidth;
        h = elem.style.pixelHeight;
    }
return (w || h) ? {width: parseInt(w), height: parseInt(h)} : 0;
}

onload = function () {
var parentSize = getParentSize();
var scrolling = getScrolling();
var scrollX = (scrolling) ? scrolling.scrollX : 0;
var scrollY = (scrolling) ? scrolling.scrollY : 0;
var elem = document.getElementById("test");
var elemSize = getObjSize("test");
var left = Math.round(parentSize.width/2 - elemSize.width/2 + scrollX);
var top = Math.round(parentSize.height/2 - elemSize.height/2 + scrollY);
    elem.style.left = left + "px";
    elem.style.top = top + "px";
}
</script>
<style type='text/css'>
#test {width: 100px; height: 100px; background: yellow; position: absolute}
</style>
</head>

<body>
<div id='test'></div>
</body>
</html>


Это сообщение отредактировал(а) Ciber SLasH - 22.12.2005, 03:41
PM   Вверх
Sardar
Дата 22.12.2005, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Зачем скриптами, простой вёрсткой лучше: http://forum.vingrad.ru/index.php?showtopic=59216


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Greendrake
Дата 2.5.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 364
Регистрация: 14.7.2005

Репутация: нет
Всего: 6



Цитата(Sardar @ 22.12.2005,  19:14)
Зачем скриптами, простой вёрсткой лучше: http://forum.vingrad.ru/index.php?showtopic=59216

Потому что версткой не учтёшь скроллинг.

Ciber SLasH, спасибо, то что доктор прописал. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.