Avatar billede mamu Nybegynder
25. august 2004 - 10:06 Der er 6 kommentarer og
1 løsning

Funktion virker ikke i Firefox

Hej eksperter

Jeg har en menu med links af formen:

<a href="main.asp" id="home" onmouseover="hoverin(0)" onmouseout="hoverout(0)" onclick="mchoice(0)">Home</a>

og funktionerne:

// *********************************************************
function hoverin(elm){
    var menunames = new Array('home','bio','cv','pic','and');
    if(document.getElementById(menunames[elm]).parentNode.style.backgroundColor=='#5183b5'){
        document.getElementById(menunames[elm]).style.color='#e01919';
    }
}

// *********************************************************
function hoverout(elm){
    var menunames = new Array('home','bio','cv','pic','and');
    document.getElementById(menunames[elm]).style.color='#000000';
}

Det virker fint i IE, men i Firefox virker det kun første gang musen føres over et link. Det vil sige at den farver linket #e01919 når musen kommer ind over, og #00000 når den fjernes, men næste gang det forsøges forbliver linket sort.

Måske har det noget at gøre med mine styles, som ser sådan ud:

a:link, a:visited, a:active{     color : #000000;
                                text-decoration : none;
                                font-family : Arial;
                                font-weight : bold;
}

a:hover{     color : #e01919;
            font-family: Arial;
            font-weight : bold;
           
}

Håber i kan se hvad der er galt!!
Avatar billede roenving Novice
25. august 2004 - 10:12 #1
Hvorfor tester du for background-color ?-)

-- og så laver du for mange udgaver af menunames:

// *********************************************************
var menunames = new Array('home','bio','cv','pic','and');

function hoverin(elm){
    if(document.getElementById(menunames[elm]).parentNode.style.backgroundColor=='#5183b5'){
        document.getElementById(menunames[elm]).style.color='#e01919';
    }
}

function hoverout(elm){
    document.getElementById(menunames[elm]).style.color='#000000';
}

-- men det skulle ikke umiddelbart betyde noget, kan du smide et link ?-)
Avatar billede mamu Nybegynder
25. august 2004 - 10:29 #2
www.ma-mu.dk

Hvorfor jeg tester for background-color kan du nok nemmest se selv. Og ja menunames kunne sagtens komme udenfor, jeg har ikke helt fået barberet koden ned endnu...
Avatar billede roenving Novice
25. august 2004 - 10:51 #3
Jeg ville prøve sådan i stedet:

<script>
   
// ======================================================================
// Function for the menubar        << Made by : Martin Munck>>
// ======================================================================

// *********************************************************
var menunames = new Array('home','bio','cv','pic','and'),mnum=0;

function mchoice(elm){
  mnum = elm;   
    for(i=0; i<menunames.length; i++){
        document.getElementById(menunames[i]).parentNode.style.backgroundColor='#5183b5';
    }
    document.getElementById(menunames[elm]).parentNode.style.backgroundColor='#88a3be';
    document.getElementById(menunames[elm]).style.color='#000000';
       
    for(i=0; i<menunames.length; i++){
        document.getElementById(menunames[i]).parentNode.style.border="0px solid #000000";
        document.getElementById(menunames[i]).parentNode.style.borderBottom="1px solid #000000";
        document.getElementById(menunames[i]).parentNode.style.borderTop="1px solid #000000";
    }

    document.getElementById(menunames[elm]).parentNode.style.borderBottom="0px solid #000000";
    if(elm==0){
        document.getElementById(menunames[elm]).parentNode.style.borderRight="1px solid #000000";
    }
    else if(elm==4){
        document.getElementById(menunames[elm]).parentNode.style.borderLeft="1px solid #000000";
    }
    else{
        document.getElementById(menunames[elm]).parentNode.style.borderRight="1px solid #000000";
        document.getElementById(menunames[elm]).parentNode.style.borderLeft="1px solid #000000";
        }
}

// FUNCTIONS FOR THE HOVER EFFECTS
// *********************************************************
function hoverin(elm){
    if(elm!=mnum){
        document.getElementById(menunames[elm]).style.color='#e01919';
    }
}

// *********************************************************
function hoverout(elm){
    document.getElementById(menunames[elm]).style.color='#000000';
}


</script>

-- btw tror jeg at du kunne lave det bedre uden alle de frames !-)

-- måske med en enkelt iframe til indholdet !-)
Avatar billede mamu Nybegynder
25. august 2004 - 11:01 #4
Det var det der skulle til :-) jeg fatter nu stadig ikke hvorfor mit ikke virkede...

Pop lige et svar så du kan få nogen point
Avatar billede roenving Novice
25. august 2004 - 11:02 #5
Velbekomme '-)
Avatar billede mamu Nybegynder
25. august 2004 - 11:11 #6
Og mange tak for hjælpen ,-)
Avatar billede roenving Novice
25. august 2004 - 11:19 #7
-- og jeg takker for point ;~}

-- du har ikke lagt det op endnu ?-)
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