DHTML / Lager-problem i mozilla etc.

Avdelningen för webbrelaterad programmering och grafisk design.
Post Reply
User avatar
Peter Wall
Hedersbit
Posts: 7026
Joined: 2002-03-08 0:52:56
Location: Stockholm
Contact:

DHTML / Lager-problem i mozilla etc.

Post by Peter Wall »

Hellu... :-) Håller på o kodar en sida där mina extremt (jag menar verkligen extremt) grundläggande (obefintliga) kunskaper inom javascript sätter stopp för någon vidare användning i andra webbläsare än InternetExplorer 6.0 (alla lager visas samtidigt, på direkten, förutom i IE 6.0 :-P).

Iofs är detta inte nu något problem i.o.m att det inte krävs av läraren att den ska fungera för mer än IE 6.0, eftersom vi just inte har läst javascript än (och kanske mer avancerade saker som man behöver för att lösa problemet, vad vet jag ..).. Men v-f nyfiken som man är så vill man ju ha igång det! ;-)

Nu är ju frågan vad som kan vara felet.. Som jag tidare har antydigt tror jag att det är mina javascriptskunskaper som sätter stopp. Såhär har jag lagt upp skiftandet av lager (hidden/visible) m.h.a javascript.

Code: Select all

function showmenu(elmnt)
{
document.all(elmnt).style.visibility="visible"
}
function hidemenu(elmnt)
{
document.all(elmnt).style.visibility="hidden"
}
Och i XHTML-koden (ett exempel)

Code: Select all

<div id="meny1" ><a href="#" onclick="showmenu('meny2');showmenu('text');hidemenu('meny3');hidemenu('meny4');" >Hem</a>
Hoppas att nån förstår mitt problem o kan hjälpa mig lösa det / förstå problemet! Är det någon mer information som krävs, om det nu inte skulle vara just javascriptandet som var problemet, så kan ni väl få se på mer kod om ni ber snällt ;-) ..

Edit:

Läste på lite om Javascript / DHTML o försökte få det att funka men det går fanimig inte.. Det verkar som om man måste ha olika för olika webbläsare, så långt är jag med. Men hur ska man få det att funka!?

Code: Select all

function showmenu(elmnt){
        
		if(document.layers){
            //thisbrowser="NN4";
            document.elmnt.visibility=visible;
        }
        if(document.all){
            //thisbrowser="ie"
            document.all(elmnt).style.visibility="visible";
        }
        if(!document.all && document.getElementById){
            //thisbrowser="NN6";
            document.getElementById("elmnt").style.visibility=visible;

        }
}

function hidemenu(elmnt){
        
		if(document.layers){
            //thisbrowser="NN4";
            document.elmnt.visibility=hidden;
        }
		if(document.all){
            //thisbrowser="ie"
            document.all(elmnt).style.visibility="hidden";
        }
        if(!document.all && document.getElementById){
            //thisbrowser="NN6";
            document.getElementById("elmnt").style.visibility=hidden;

        }
}
Lekte jag ihop nu o testade efter att jag hade läst en tutorial. Gick inge vidare som sagt.. Gah! Tycker iaf att saker o ting inte borde visas i mozilla, okej om sen inte javascriptet funkar o man inte kommer längre men detta! *river hår* ;-)

Edit2:

Kan ju vara bra om man kollade in Javaconsolegrejset som finns i mozilla... Aja, det står ivf att det saknas properties. Säger mig som är jätteduktig på java jättemkt.. Lovar ;-) *letar vidare i djungeln*

Edit3: Bara för att visa hur förjävla envis jag är ;-) (det man inte har i förnuft får man ta i envishet..), så ska jag säga att jag nu har fått bort felmeddelandet att det inte finns några properties (lade till id't för varje jävla grej som skulle påverkas av scriptet..) men det funkar ändå inte! O nu ger jag upp för idag.. >_<
Diplomerad webbutvecklare
Microsoft Certified Professional Windows 2003
Microsoft Certified Technology Specialist Windows Vista
"Did you know kidneys and applesauce are a delicacy in Sweden? I'm gonna get my applesauce back!"
User avatar
nva
Hedersbit
Posts: 2517
Joined: 2002-03-07 23:34:21
Location: Skåneland
Contact:

Post by nva »

Det är den här raden du vill använda:

Code: Select all

document.getElementById("elmnt").style.visibility=hidden; 
Men du har skrivit den fel, istället ska det vara:

Code: Select all

document.getElementById(elmnt).style.visibility=hidden; 
Du ska alltså inte ha citattecken runt "elmnt". Detta fungerar även i båda browsers så du behöver inte ha nån kontroll för vilken browser det är.
The three most dangerous things in the world are a programmer with a soldering iron, a hardware type with a program patch and a user with an idea.

In theory, there is no difference between theory and practice. But, in practice, there is.
User avatar
Peter Wall
Hedersbit
Posts: 7026
Joined: 2002-03-08 0:52:56
Location: Stockholm
Contact:

Post by Peter Wall »

*Edit*
Ahh tack.. Men det fungerar ändå inte. Har fått till lagergrejen nu.. Men javascriptsdelen fungerar inte. Säker på att jag inte måste lägga till för varje id..? :-/

Edit2: nva din jävel :-P Det ska vara ="visible"; .. ;-) Nu funkar det iaf. Tack för hjälpen!
Diplomerad webbutvecklare
Microsoft Certified Professional Windows 2003
Microsoft Certified Technology Specialist Windows Vista
"Did you know kidneys and applesauce are a delicacy in Sweden? I'm gonna get my applesauce back!"
Post Reply