Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/20: Рейтинг темы: голосов - 20, средняя оценка - 4.65
6 / 6 / 1
Регистрация: 31.03.2009
Сообщений: 54
1

Можно ли при помощи JavaScript слой DIV выровнять по центру браузера?

31.03.2009, 13:15. Показов 4041. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, у меня есть один вопрос. Можно ли при помощи JavaScript слой DIV выровнять по центру браузера? Слышал что можно, но инфы не нашел(( Если можно,
то киньте ссылку где мона посмореть...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2009, 13:15
Ответы с готовыми решениями:

Выровнять по центру, по горизонтали div, внутри другого div
Есть див, в нём три других дива. Как выровнять их по середине? В этих блоках был использован...

Выровнять div по центру
здравствуйте! есть див, содержащий несколько дивов разной ширины. подскажите, как внешний див...

Не могу выровнять div по центру
Помогите выравнять div по центру... не могу понять в чём проблема. не выравнивается по центру! ...

Как выровнять div по центру
Здравствуйте, столкнулся с проблемой, не могу выровнять div по центру ( contakty ) он едет в лево ...

2
10065 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
31.03.2009, 13:21 2
Лучший ответ Сообщение было отмечено Demon008 как решение

Решение

Буксировка (перетаскивание) DIV на JavaScript
Когда у меня возникла необходимость в перетаскивании картинки по html странице я не мог найти готового, а главное универсального решения для реализации этой задачи. Поэтому посидев немного за аналоговыми источниками информации у меня получилось реализовать следующий скрипт, который надеюсь пригодится и вам.

Главная проблема при реализации этого скрипта была в том, что при перетаскивании DIV содержащего картинку перестает инициироваться событие onMouseMove из-за обработчика события поумолчанию, справиться с этой проблемой мне помогли методы класса Event: event.stopPropagation() и event.preventDefault(). Первый метод запрещает распространение события дальше по дереву тэгов, а второй отменяет обработчик события поумолчанию, но это будет работать в браузерах поддерживающих DOM, для остальных же аналогом этих методов будет: event.cancelBubble = true и event.returnValue = false. Итак, в итоге имеем, что при написании обработчика события onMouseMove и onMouseDown для перетаскиваемого объекта в него надо вставить следующий код:
Javascript
1
2
3
4
if(event.stopPropagation) event.stopPropagation();
else event.cancelBubble = true;
if(event.preventDefault) event.preventDefault();
else event.returnValue = false;
Следующей загвоздкой стало получение объекта Event. Если в IE к нему можно обратиться просто window.event, то в Netscape он передается в качестве параметра функции обработчика события, решение проблемы выглядит следующим образом:
HTML5
1
2
3
4
5
6
7
<script type="text/javascript">
function method(e){
  if(!e) e = window.event;
  ...
}
</script>
<div onMouseMove="method(event)"></div>
Дальше все дело техники. Обрабатывем событие onMouseDown где ставим признак, что перетаскивание началось и вычисляем смещение левого верхнего угла DIV относительно позиции мыши. Обрабатывем событие onMouseUp, где снимаем признак перетаскивания. В обработчике onMouseMove проверяем наличие этого признака и мы готовы к перетаскиванию. В этом нам поможет CSS: аттрибут position должен принимать значение absolute, а также задаем координаты левого верхнего угла DIV используя аттрибуты top и left.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<script type="text/javascript">
var flag=false;
var shift_x;
var shift_y;
 
function start_drag(itemToMove,e){
if(!e) e = window.event;
flag=true;
shift_x = e.clientX-parseInt(itemToMove.style.left);
shift_y = e.clientY-parseInt(itemToMove.style.top);
 
if(e.stopPropagation) e.stopPropagation();
else e.cancelBubble = true;
if(e.preventDefault) e.preventDefault();
else e.returnValue = false;
}
 
function end_drag(){ flag=false; }
 
function dragIt(itemToMove,e){
if(!flag) return;
if(!e) e = window.event;
itemToMove.style.left = (e.clientX-shift_x) + "px";
itemToMove.style.top = (e.clientY-shift_y) + "px";
 
if(e.stopPropagation) e.stopPropagation();
else e.cancelBubble = true;
if(e.preventDefault) e.preventDefault();
else e.returnValue = false;
}
</script>
 
<div style="position:absolute; left:5px; top:5px;" onMouseDown="start_drag(this,event)"
 onMouseUp="end_drag()" onMouseMove="dragIt(this,event)">
<img src="image.png">
</div>
Взято с http://articles.pgood.ru/
самому погуглить слабо было?
1
6 / 6 / 1
Регистрация: 31.03.2009
Сообщений: 54
31.03.2009, 13:26  [ТС] 3
Огромно пасибо, попробую))
0
31.03.2009, 13:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2009, 13:26
Помогаю со студенческими работами здесь

Выровнять блок div по центру
есть вот такой вот файл css *{ margin:0; padding:0; } body { background-image:...

Как выровнять текст по центру между верхней и нижней границей блока div?
Собственно, как выровнять текст по центру между верхней и нижней границей блока div?

Как выровнять div по верхнему краю окна браузера?
Скажите пожалуйста как выровнять div по верхнему краю окна браузера? у меня вся страница помещена в...

Как выровнять div в одну строку при условии что обварачивающий div с auto размерами?
Доброго времени суток коллеги! Подскажите пожалуйста такую вещь: есть div &quot;обертка&quot; с размерами...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru