Layers in Firefox

nikitnikov77

С яваскриптом особо не дружу, но нужно сделать появляющиеся и исчезающие слои. На ИЕ все пашет, а вот лиса не хочет.
Примерно все выгляит так:
 
<style type="text/css">
<!--
...
#login {position:absolute; width:300px; height:200px; z-index:1; left: 350px; top: 150px; layer-background-color: #66CCFF; border: 1px none #000000; visibility: hidden;}
//-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function login_layer(vis){
if(vis==1)
document.getElementById(["login"]).visibility='show'
else
document.getElementById(["login"]).visibility='hide'

}
//-->
</script>
<div id="login" >
//ну и есть кнопки которые вызывают скрипт login_layer(x)

Пробовал разные варианты, но нифига. кто-нить знает, что надо писать в функции?

slonishka

а почему в css visibility: hidden; а в js какие-то hide и show?

nikitnikov77

Это я прочитал в инете, у каждого браузера посвоему:
IE: document.all["login"].style.visibility='visible'
else
document.all["login"].style.visibility='hidden'
А в Firefox и Нетскейпе- как я уже написал.

nikitnikov77

Все, я решил проблему при помощи аттрибута display, надо было сразу им пользоваться.

artimon

Хороший совет: не читай статьи старше трёх лет.
То, что ты привёт относится к NN4, который устарел пять лет назад.

jonishko

Это я прочитал в инете, у каждого браузера посвоему:
IE: document.all["login"].style.visibility='visible'
else
document.all["login"].style.visibility='hidden'
А в Firefox и Нетскейпе- как я уже написал.
Да ну?
А вот так например везде работает:

<style type="text/css">

#layer1{visibility: hidden;background: orange; width:100px; height:100px}

</style>
<script type="text/javascript">

function layers(layer)
{
var obj=document.getElementById(layer);
if(obj.style.visibility=='visible'){obj.style.visibility='hidden'}
else{obj.style.visibility='visible'}
}

</script>

<a href='#' onclick='layers("layer1"); return false;'>click me</a>
<div id="layer1">
</div>
</body>

Найдёшь тут show и hide?

jonishko

Все, я решил проблему при помощи аттрибута display, надо было сразу им пользоваться.
А если тебе надо будет, чтобы место занимаемое скрытым слоем резервировалось и при его скрытии? Интересно как тогда решишь задачу?
Ведь display:none скрывает элемент как будто его вообще нет на странице. А visibility:hidden лишь прячет его, но остальные элементы располагаются так, как будто он присутствует.
Оставить комментарий
Имя или ник:
Комментарий: