Затемнение страницы на JavaScript
Добавлено: Вт янв 20, 2009 13:12
Делаю затемнение страницы на JavaScript. Вот код скрипта:
И код html:
Есть пара вопросов:
1. Как-нить можно обойтись без глобальной переменной в скрипте?
2. Див со ссылкой внутри дива-фона (того, что затемняет страницу) становится тоже прозрачным. Как этого избежать?
- Код: Выделить всё
var value = 0;
function setOpacity() {
value += .3;
var testObj = document.getElementById('test');
testObj.style.width = "100%";
testObj.style.height = "100%";
testObj.style.display = "block";
testObj.style.opacity = value/10;
testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
myTimeout = setTimeout("setOpacity()", 1);
if ((value/10) >= .5) {
clearTimeout(myTimeout);
}
}
function removeOpacity() {
value -= .3;
var testObj = document.getElementById('test');
myTimeout2 = setTimeout("removeOpacity()", 1);
testObj.style.opacity = value/10;
testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
if ((value/10) <= 0) {
testObj.style.display = "none";
clearTimeout(myTimeout2);
}
}
И код html:
- Код: Выделить всё
<html>
<head>
<style type="text/css">
body {
margin: 0;
padding: 0;
}
#test {
background: #000;
display: none;
opacity: 0;
filter: alpha(opacity=0);
position: absolute;
top: 0;
left: 0;
z-index: 100;
}
</style>
</head>
<body>
<div id="test">
<div style="width: 100px; height: 30px; text-align: center; position: relative; top: 50%; left: 50%; background: #fff; border: #f00 1px solid;">
<a href="#" onclick="removeOpacity();">Закрыть</a>
</div>
</div>
<a href="#" onclick="setOpacity();">
Открыть сообщение об ошибке
</a>
</body>
</html>
Есть пара вопросов:
1. Как-нить можно обойтись без глобальной переменной в скрипте?
2. Див со ссылкой внутри дива-фона (того, что затемняет страницу) становится тоже прозрачным. Как этого избежать?