Avatar billede matric Nybegynder
14. marts 2001 - 20:39 Der er 8 kommentarer og
1 løsning

rollover fejl

På siden http://www.hah-biler.dk har jeg en rollover menu.. men når musen køres henover kommer der en fejl og en til når mussen køres tilbage (se de to pile)

// onMouseOut
function inact(imgName) {
  if (document.images)
->  document.images[imgName].src = eval(imgName + \"_off.src\");
}
// onMouseOver
function act(imgName) {
  if (document.images)
->  document.images[imgName].src = eval(imgName + \"_on.src\");
}

1. Error: \'forside_off\' is undefined
2. Error: \'forside_on\' is undefined

her er koden:
------------------------------------------
// Navne på menupunkterne defineres
menu = new Array()
menu[0] = \"forsiden\"
menu[1] = \"profil\"
menu[2] = \"brugtebiler\"
menu[3] = \"onskebil\"
menu[4] = \"finansiering\"
menu[5] = \"nyhedsbrev\"
menu[6] = \"kontakt\"

// beskrivelse af punkterne defineres;
besk = new Array()
besk[0] = \"Gå tilbage til forsiden\"
besk[1] = \"Profil - Henning A. Hansen A/S\"
besk[2] = \"Liste over alle vores brugte biler\"
besk[3] = \"Fortæl os hvilken bil du leder efter, så finder vi den til dig!\"
besk[4] = \"Finasiering af din bil\"
besk[5] = \"Modtag en e-mail, hver gang vi får en ny bil\"
besk[6] = \"Kontakt info\"

// onMouseOut
function inact(imgName) {
  if (document.images)
    document.images[imgName].src = eval(imgName + \"_off.src\");
}
// onMouseOver
function act(imgName) {
  if (document.images)
    document.images[imgName].src = eval(imgName + \"_on.src\");
}

// Laver selve menuen
function lavMenu(antal) {
    var count = 0;
    while ( count < antal ) {
        // OFF defineres
        eval(\'var \' + menu[count] + \'_off = new Image()\')
        eval(menu[count] + \'_off.src = \"m_\' + menu[count] + \'_off.gif\"\')
        // ON defineres
        eval(\'var \' + menu[count] + \'_on = new Image()\')
        eval(menu[count] + \'_on.src = \"m_\' + menu[count] + \'_on.gif\"\')
       
        // Printer til siden punkt efter punkt
        document.write(\"<a href=\'\" + menu[count] + \".asp\' onMouseOver=\'act(\" + \'\"\' + menu[count] + \'\"\' + \")\'; onMouseOut=\'inact(\" + \'\"\' + menu[count] + \'\"\' + \");\'>\")
        document.write(\"<img src=\'m_\" + menu[count] + \"_off.gif\' height=\'11\' border=\'0\' name=\'\" + menu[count] + \"\' alt=\'\" + besk[count] + \"\'></a>\")
        document.write(\"<img src=\'menu_sep.gif\' width=\'3\' height=\'11\'>\")
        count++
    }
}
---------------------------------
funktionen lavMenu bliver så kaldt ind på siden...

På forhånd tak.
Avatar billede hoejrup Nybegynder
14. marts 2001 - 20:55 #1
I toppen af dit dokument skal du definerer følgende:

forside_off = new Image()
forside_on = new Image()
forside_off.src = \'knapf.gif\'
forside_on.src = \'knapo.gif\'

knapf.gif og knapo.gif er dine to billeder.

/per

Avatar billede matric Nybegynder
14. marts 2001 - 20:58 #2
Det bliver gjort her:

eval(\'var \' + menu[count] + \'_off = new Image()\')
eval(menu[count] + \'_off.src = \"m_\' + menu[count] + \'_off.gif\"\')
// ON defineres
eval(\'var \' + menu[count] + \'_on = new Image()\')
eval(menu[count] + \'_on.src = \"m_\' + menu[count] + \'_on.gif\"\')
Avatar billede hoejrup Nybegynder
14. marts 2001 - 21:08 #3
Ok, har du prøvet med følgende ved dine pile:

document.images[imgName].src = eval(\"m_\" + imgName + \"_off.src\");

document.images[imgName].src = eval(\"m_\" + imgName + \"_on.src\");

/per
Avatar billede matric Nybegynder
14. marts 2001 - 21:35 #4
Ja, og det er forkert.. da det kun er filnavnet som har \"m_\" foran..
Avatar billede hoejrup Nybegynder
14. marts 2001 - 22:03 #5
Er det nødvendigt at anvende \'var \' +:

eval(\'var \' + menu[count] + \'_off = new Image()\')

da formateringen skal se sådan ud:

forside_off = new Image()
forside_on = new Image()
forside_off.src = \'knapf.gif\'
forside_on.src = \'knapo.gif\'

/per
Avatar billede matric Nybegynder
14. marts 2001 - 22:08 #6
DAMN IT!!! det virker!!!! ahhh yeeeah!!!

men i http://www.webreference.com/js/column1/several.html står der noget andet... fuck hvor havde jeg prøvet mange ting.. og så er det så simpelt.. haha..

du skal have mange tak for hjælpen..
Avatar billede hoejrup Nybegynder
14. marts 2001 - 22:11 #7
matric> Velbekomme, jeg laver normalt mouse over på en anden måde, så det tog lidt tid at komme igennem scriptet.

/per
Avatar billede matric Nybegynder
14. marts 2001 - 22:14 #8
Ja, ved godt det ikke er så normalt.. men det er meget mere dynamisk nu i forhold til andre jeg har set og lavet...

du kender vel ikke lige en funktion som tæller antallet af værdier i en array?

så funktionen lavMenu(antal) ikke behøver at få input \"antal\"...
Avatar billede hoejrup Nybegynder
14. marts 2001 - 23:38 #9
antal = document.menu.length

/per
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