[javascript] Menu+div show hide

0

Witam.
Nie wiem jak sobie z tym poradzić, więc zwracam się do was.
Chcę ,żeby działała strona następująco:
Jest 4 divy, spozycjonowane identycznie. Strona posiada 4 hiperłącza w menu, na początku jest widoczny 1 div z 4 który jest zdefiniowany jako "widoczny". Gdy uruchamiam inne hiperłącze, wartość wszystkich divów zmienia się na hidden a nowy na visible. na razie doszedlem do takiej formy jaka jest poniżej.

<head>
<script language=javascript type='text/javascript'> 
function hideDiv(pass) { 
var divs = document.getElementsByTagName('div'); 
for(i=0;i<divs.length;i++){ 
if(divs[i].id.match(pass)){
if (document.getElementById) // DOM3 = IE5, NS6 
divs[i].style.visibility="hidden";
else 
if (document.layers) // Netscape 4 
document.layers[divs[i]].display = 'hidden'; 
else // IE 4 
document.all.hideShow.divs[i].visibility = 'hidden'; 
} 
} 
} 

function showDiv(pass) { 
var divs = document.getElementsByTagName('div'); 
for(i=0;i<divs.length;i++){ 
if(divs[i].id.match(pass)){ 
if (document.getElementById) 
divs[i].style.visibility="visible"; 
else 
if (document.layers) // Netscape 4 
document.layers[divs[i]].display = 'visible'; 
else // IE 4 
document.all.hideShow.divs[i].visibility = 'visible'; 
} 
} 
} 
</script>
</head>
<body>
<a href="javascript:hideDiv('256')">ukryj div1</a> 
<a href="javascript:showDiv('256')">pokaz Div 1</a> <br/>
<a href="javascript:hideDiv('512')">ukryj Div 2</a> 
<a href="javascript:showDiv('512')">pokaz Div 2</a><br/>
<a href="javascript:hideDiv('513')">ukryj Div 3</a> 
<a href="javascript:showDiv('513')">pokaz Div 3</a>
<br/><br/>
<div id="256a"> 
pierwszy div 
</div> 



<div id="512a"> 
drugi div
</div>

<div id="513a"> 
trzeci div
</div>

</body>
0

o matko.. ale kod..
ściągnij jQuery i załatwisz to w (na oko) 3 linijkach.. jQuery przyda Ci się jeszcze milion i trzy razy w życiu, więc warto już teraz go zacząć używac.

0

Czy gdy przeklejałeś gdzieś z netu ten kod, to naprawdę nie wzbudziło Twoich podejrzeń wymienienie w komentarzu IE4 oraz Netscape'a 4? Poważnie, ten kod pochodzi z drugiej połowy lat 90 UBIEGŁEGO WIEKU. Przynajmniej tak wygląda. Obecnie mamy IE8, niedługo wyjdzie IE9. Od wielu lat olewamy nie tylko IE4, ale również IE5, a teraz nawet IE6.

Ten kod wypadałoby wywalić na śmietnik i albo znaleźć jakiś z naszego stulecia (!), albo nauczyć się pisać JavaScript i dopiero brać za takie rzeczy. Wtedy samodzielnie chyba nie wpadłbyś na pomysł: "hmm, muszę zaimplementować wsparcie dla Netscape'a 4...".

1 użytkowników online, w tym zalogowanych: 0, gości: 1