Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Измерения и прозрачность элементов (https://javascript.ru/forum/events/2679-izmereniya-i-prozrachnost-ehlementov.html)

BAnder 30.01.2009 22:29

Измерения и прозрачность элементов
 
1) Есть такая штука, которая определяет разрешение монитора пользователя (свойства height и width), есть такая, которая определяет внутренний размер открытого окна (innerHeight), а как определить размер определенного div-а не зависимо от его содержания?
2) Можно ли сделать определенный div полупрозрачным (что б работало во всехз браузерах)? А точнее знаю что можно, но не знаю как :)
3) Как можно заставить определенный div перемещаться из точки X в точку Y?
Заранее спасибо.

Андрей Параничев 30.01.2009 22:43

1) http://javascript.ru/blog/andrei-par...-i-eliemientov
2) Да, можно, через CSS:
filter:alpha(opacity=<процент>); opacity: <часть от единицы>;

Т.е. для 25% прозначности:
filter:alpha(opacity=25); opacity: .25;

3) Через стили установите элементу свойство position: absoute и перемещайте его, изменяя свойства style.top (y) и style.left (x).

BAnder 30.01.2009 22:45

Андрей Параничев, спасибо.
У меня единственное сомнения по поводу 2-го пункта. Разве это не будет работать только в эксплорере? (сам пока еще не пробовал)

Андрей Параничев 30.01.2009 22:53

BAnder,
Фильтр - для IE, свойство opacity - для других браузеров.

BAnder 30.01.2009 23:18

Попробовал в эксплорере - прозрачность не пашет :(

Андрей Параничев 30.01.2009 23:49

BAnder,
Ах да, совсем забыл. В IE элемент может быть прозрачным, только если его свойство hasLayout имеет значение true. Этого можно добиться разными способами, например установкой фиксированного размера, но проще всего воспользоваться свойством zoom со значением 1:
filter:alpha(opacity=25);
zoom: 1;

BAnder 01.02.2009 17:03

Андрей Параничев,
вот теперь красота, респект

Андрей Параничев 02.02.2009 17:05

BAnder,
Пожалуйста для каждого вопроса создавайте отдельные темы с осмысленным названием, чтоб облегчить другим пользователям поиск по форуму. Обсуждение перенесено.

BAnder 03.02.2009 11:53

Пардон что поднимаю тему еще раз, но... В общем добрался я до реализации 3-го вопроса (чувствую что модеры опять в отдельную тему вынесут)
Код следующий
<html>
<head>
<style>
#mov{
position:absolute;
top:10px;
left:50px;
background-color:red;
height:40px;
width:100px;
text-align:center;
}
</style>
<script type="text/JavaScript">
function foo(){
alert(document.getElementById("mov").style.top);
}
</script>
</head>
<body>
<div id="mov" onClick=foo()>
text
</div>
</body>
</html>

При этом alert выдает пустое окно. Мне причина такого поведения не понятна. Вот хотелось бы услышать объяснения и рекомендации. Заранее спасибо.

ЗЫ. если q--b все же решит принять участие в обсуждении этой темы - сразу оговорюсь - валидность кода, разделение кода по разным файлам и пр. - все это не имеет значения на данном этапе, имеет значение лишь работоспособность кода.

ZoNT 03.02.2009 12:13

Цитата:

Сообщение от BAnder
function foo(){ alert(document.getElementById("mov").style.top); }

function foo(){ alert(document.getElementById("mov").offsetTop); }


Часовой пояс GMT +3, время: 04:46.