Avatar billede milo Nybegynder
23. september 2002 - 15:18 Der er 10 kommentarer og
1 løsning

Hjælp med menu :)

http://www.warhammer.dk/E/menu.htm

Når man trykker på et af de 4 hovedpunkter (så menuen folder sig ud) Skal billedet skiftes ud med et andet, indtil man trykker på et af de andre 3 hovedpunkter, så skal det nye man trykker på skiftes ud,og det første skal skifte tilbage...siger sig selv... :)

Jeg har prøvet selv med diverse ting, men har kun fået den til, at skifte ud når man trykker, men ikke til at skifte tilbage når man trykker på noget andet... :)
Avatar billede jakoba Nybegynder
23. september 2002 - 15:39 #1
udskift dit script med:
<script LANGUAGE=javascript>

var menuliste = new Array( "undermenu1", "undermenu2", "undermenu3", "undermenu4" );


function findMenu ( nummer ) {

    if ( nummer < 0 || nummer >= menuliste.length )
        return null; // findes ikke
        if ( document.getElementById )
        return document.getElementById( menuliste[ nummer ] );
    if ( document.all )
        return document.all[ menuliste[ nummer ] ];
        return null; // desværre dette duer ikke i Netscape 4

}; //end findMenu( Number ) -> menu object


function open_menu(aaben) {
       
    for (i=0; i < menulist.length; i++) {
        if (i+1==aaben) { // skal vises
            findMenu(i).style.display="block"
        } else {        // skal gemmes
            findMenu(i).style.display="none"
        }
    }

}

</SCRIPT>

mvh JakobA
Avatar billede jakoba Nybegynder
23. september 2002 - 15:49 #2
uuuuuUps. der mangler et e i linien
    for (i=0; i < menulist.length; i++) {
der skal stå
    for (i=0; i < menuliste.length; i++) {
Avatar billede jakoba Nybegynder
23. september 2002 - 15:55 #3
eller mener du at man skal kunne lukke den åbne uden at åbne en anden. som her:

var nuverende = -1; // alle lukket
function open_menu(aaben) {
  if ( aaben == nuverende ) {
        findMenu(aaben-1).style.display="none"
        nuverende = -1;
  } else {
        for (i=0; i < menuliste.length; i++) {
            if (i+1==aaben) { // skal vises
                findMenu(i).style.display="block"
            } else {        // skal gemmes
                findMenu(i).style.display="none"
            }
        }
      nuverende = aaben;
    }
}; //end open_menu( number )
Avatar billede milo Nybegynder
23. september 2002 - 19:06 #4
nej jakoba, det jeg mener er, at selve billedet man trykker på, skal skiftes ud med et andet, SAMTIDIG med at menuen folder sig ud...billedet skal skiftes ud med et med en grå nyance når man trykker...og skal så skiftes tilbage til det originale menupunkt når man vælger et andet af de 3 hovedmenu-punkter.
Avatar billede milo Nybegynder
23. september 2002 - 19:07 #5
se fx her:
http://www.warhammer.dk/E/billeder/hvad_kan_vi_2.gif
Har 2 billeder af hver af de 4 punkter...
Avatar billede jakoba Nybegynder
23. september 2002 - 22:14 #6
denfor har jeg givet <img kommandoerne navne "pic1, pic2, osv.
til hver <img kommando høre så to billedfiler der hedder "pic1on.gif" og "pic1off.gif", "pic2on.gif" og "pic2off.gif", osv


<html>
<head><title>foldeud menu</title>

<script LANGUAGE=javascript>

var menuliste = new Array( "undermenu1", "undermenu2", "undermenu3", "undermenu4" );
var picliste = new Array( "pic1", "pic2", "pic3", "pic4" );

var preloader = new Array();  //benyttes til preload.
for (i=0; i<picliste.length; i++) {
    preloader[i] = new Image():
    preloader[i].src = picliste[i]+"on.gif"; // preload on billederne
}

function findMenu ( nummer ) {

    if ( nummer < 0 || nummer >= menuliste.length )
        return null; // findes ikke
    if ( document.getElementById )
        return document.getElementById( menuliste[ nummer ] );
    if ( document.all )
        return document.all[ menuliste[ nummer ] ];
    return null; // desværre dette duer ikke i Netscape 4

}; //end findMenu( Number ) -> menu object

var nuverende = -1; // alle lukket
function open_menu(aaben) {
  if ( aaben == nuverende ) {
        findMenu(aaben-1).style.display="none"
    document.images[ picliste[ aaben-1 ] ].src = picliste[ aaben-1 ]+"off.gif";
        nuverende = -1;
  } else {
        for (i=0; i < menuliste.length; i++) {
            if (i+1==aaben) { // skal vises
                findMenu(i).style.display="block"
        document.images[ picliste[ i ] ].src = picliste[ i ]+"on.gif";
            } else {        // skal gemmes
                findMenu(i).style.display="none"
        document.images[ picliste[ i ] ].src = picliste[ i ]+"off.gif";
            }
        }
        nuverende = aaben; // husk den der er åben.
    }
}; //end open_menu( number )

</SCRIPT>

</head>
<body onload="open_menu(0);">

        <a href="#" onclick="open_menu(1)" style="Cursor:HAND;"><IMG SRC="pic1off.gif" BORDER="0" WIDTH="15" HEIGHT="15" name="pic1"></a><br>
        <div id="undermenu1" style="display:'block';">
        <IMG SRC="../rude1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""><a href="hvad_staar_vi_for.php"><IMG SRC="../lady1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""></a><br>
        </div>

        <a href="#" onclick="open_menu(2)" style="Cursor:HAND;"><IMG SRC="pic2off.gif" BORDER="0" WIDTH="15" HEIGHT="15" name="pic2"></a><br>
        <div id="undermenu2" style="Display:'block';">

        <IMG SRC="../rude1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""><a href="deres_virksomhed.php"><IMG SRC="../cool1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""></a><br>
        <IMG SRC="../rude1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""><a href="netvaerk.php"><IMG SRC="../cool1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""></a><br>
        <IMG SRC="../rude1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""><a href="vpn.php"><IMG SRC="../cool1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""></a><br>
        <IMG SRC="../rude1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""><a href="webdesign.php"><IMG SRC="../cool1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""></a><br>
        </div>

        <a href="#" onclick="open_menu(3)" style="Cursor:HAND;"><IMG SRC="pic3off.gif" BORDER="0" WIDTH="15" HEIGHT="15" name="pic3"></a><br>
        <div id="undermenu3" style="Display:'block';">
        <IMG SRC="../rude1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""><a href="praksis.php"><IMG SRC="../oohh1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""></a><br>

        </div>

        <a href="#" onclick="open_menu(4)" style="Cursor:HAND;"><IMG SRC="pic4off.gif" BORDER="0" WIDTH="15" HEIGHT="15" name="pic4"></a><br>
        <div id="undermenu4" style="Display:'block';">
        <IMG SRC="../rude1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""><a href="email.php"><IMG SRC="../blink1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""></a><br>
        <IMG SRC="../rude1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""><a href="telefon.php"><IMG SRC="../blink1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""></a><br>
        <IMG SRC="../rude1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""><a href="las_os_kontakte_dem.php"><IMG SRC="../blink1515.gif" BORDER="0" WIDTH="15" HEIGHT="15" ALT=""></a><br>
        </div>

</body>
</html>
Avatar billede milo Nybegynder
24. september 2002 - 13:27 #7
http://www.warhammer.dk/E/menu2.php

Se her..hvis jeg forstår scriptet ret, så tager den id'et (name="") og putter en endelse på, så det danner billedenavnet..en lidt fusket måde synes jeg, så billederne *skal* have et bestemt navn, osv...kan dette ikke ændres? Smider gerne flere points jakoba, jeg vil bare ha det skidt til at virke snart.. :)

Jeg får fejl på siden - jeg har tilladt mig at ændre navnene på billederne, samt varlisten med billedenavne, + endelserne...
Avatar billede jakoba Nybegynder
24. september 2002 - 13:55 #8
du kan sagtens give billederne individuelle navne. bare tilføj et par ekstra arrays, med billedfilnavne:

var onpics = new Array( "billed1on.gif", "numeroduo.jpg", "dentredie.gif", "fjerde.gif" );
var offpics = new Array( "ballon.gif", "comoesta.gif", "drittenaus.gif", "vaekfire.jpg" );

de steder du skifter billeder skal det så være
    document.images[ picliste[ i ].src = offpics[ i ];
og tilsvarende de to andre steder

i preloaderen bliver det:
    preloader[i].src = onpics[i];    // preload on billederne

mvh JakobA
Avatar billede jakoba Nybegynder
24. september 2002 - 14:06 #9
Det var bare et par syntaksfejl, og så havde du glemt at tage mappestieen med i de billednavne du gererer.

<html>
<head>
<title>test</title>

<script LANGUAGE=javascript>

var menuliste = new Array( "undermenu1", "undermenu2", "undermenu3", "undermenu4" );
var picliste = new Array( "hvem_er_vi", "hvad_kan_vi", "hvordan_goer_vi", "kontakt" );
var offpics = new Array( "billeder/hvem_er_vi.gif", "billeder/hvad_kan_vi.gif", "billeder/hvordan_goer_vi.gif", "billeder/kontakt.gif" );
var onpics = new Array( "billeder/hvem_er_vi_2.gif", "billeder/hvad_kan_vi_2.gif", "billeder/hvordan_goer_vi_2.gif", "billeder/kontakt_2.gif" );


var preloader = new Array();  //benyttes til preload.
for (i=0; i<picliste.length; i++) {
    preloader[i] = new Image();
    preloader[i].src = onpics[i]; // preload on billederne
}

function findMenu ( nummer ) {

    if ( nummer < 0 || nummer >= menuliste.length )
        return null; // findes ikke
    if ( document.getElementById )
        return document.getElementById( menuliste[ nummer ] );
    if ( document.all )
        return document.all[ menuliste[ nummer ] ];
    return null; // desværre dette duer ikke i Netscape 4

}; //end findMenu( Number ) -> menu object

var nuverende = -1; // alle lukket
function open_menu(aaben) {
  if ( aaben == nuverende ) {
        findMenu(aaben-1).style.display="none"
    document.images[ picliste[ aaben-1 ] ].src = picliste[ aaben-1 ]+".gif";
        nuverende = -1;
  } else {
        for (i=0; i < menuliste.length; i++) {
            if (i+1==aaben) { // skal vises
                findMenu(i).style.display="block"
        document.images[ picliste[ i ] ].src = onpics[ i ];
            } else {        // skal gemmes
                findMenu(i).style.display="none"
        document.images[ picliste[ i ] ].src = offpics[ i ];
            }
        }
        nuverende = aaben; // husk den der er åben.
    }
}; //end open_menu( number )

</SCRIPT>

</head>

<body onload="open_menu(0);">


        <a href="#" onclick="open_menu(1)" style="Cursor:HAND;"><img src="billeder/hvem_er_vi.gif" alt="" width="128" height="18" border="0" name="hvem_er_vi"></a><br>
        <div id="undermenu1" style="Display:'NONE';">

        <a href="hvad_staar_vi_for.php"><img src="billeder/og_hvad_staar_vi_for.gif" width="128" height="15" border="0" alt=""></a><br>
        </div>

        <a href="#" onclick="open_menu(2)" style="Cursor:HAND;"><img src="billeder/hvad_kan_vi.gif" alt="" width="128" height="18" border="0" name="hvad_kan_vi"></a><br>
        <div id="undermenu2" style="Display:'NONE';">
        <a href="deres_virksomhed.php"><img src="billeder/deres_virksomhed.gif" width="128" height="15" border="0" alt=""></a><br>
        <a href="netvaerk.php"><img src="billeder/netvaerk.gif" width="128" height="15" border="0" alt=""></a><br>
        <a href="vpn.php"><img src="billeder/vpn_eller.gif" width="128" height="15" border="0" alt=""></a><br>
        <a href="webdesign.php"><img src="billeder/webdesign.gif" width="128" height="15" border="0" alt=""></a><br>

        </div>

        <a href="#" onclick="open_menu(3)" style="Cursor:HAND;"><img src="billeder/hvordan_goer_vi.gif" alt="" width="128" height="18" border="0" name="hvordan_goer_vi"></a><br>
        <div id="undermenu3" style="Display:'NONE';">
        <a href="praksis.php"><img src="billeder/i_praksis.gif" width="128" height="15" border="0" alt=""></a><br>
        </div>

        <a href="#" onclick="open_menu(4)" style="Cursor:HAND;"><img src="billeder/kontakt.gif" alt="" width="128" height="18" border="0" name="kontakt"></a><br>
        <div id="undermenu4" style="Display:'NONE';">
        <a href="email.php"><img src="billeder/pr_email.gif" width="128" height="15" border="0" alt=""></a><br>

        <a href="telefon.php"><img src="billeder/pr_telefon.gif" width="128" height="15" border="0" alt=""></a><br>
        <a href="las_os_kontakte_dem.php"><img src="billeder/lad_os_kontakte_dem.gif" width="128" height="15" border="0" alt=""></a><br>
        </div>

</body>
</html>
Avatar billede jakoba Nybegynder
24. september 2002 - 14:08 #10
Ups. jeg glemmet at rette linien:
    document.images[ picliste[ aaben-1 ] ].src = picliste[ aaben-1 ]+".gif";
til:
    document.images[ picliste[ aaben-1 ] ].src = offpics[ aaben-1 ];
Avatar billede milo Nybegynder
24. september 2002 - 15:30 #11
Yes nu spiller det...takker jakoba :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester