Avatar billede lip Nybegynder
09. februar 2001 - 08:38 Der er 18 kommentarer og
2 løsninger

Mouseover i Layers

Jeg har en layer-mouseover på et billede der dermed viser et layer ovenpå billedet. Layeret er bare tekst.
Min problem er, at når jeg kører hen over billedet og selvfølgelig også vil ramme layeret så blinker min mouseover.
Jeg er noget der har et godt fif til hvordan jeg kan få layeret til at holde op med at blinke.
Kode følger;
<script language=\"javascript\">
   
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

// Show/Hide functions for non-pointer layer/objects
function show(id) {
    if (ns4) document.layers[id].visibility = \"show\"
    else if (ie4) document.all[id].style.visibility = \"visible\"
}

function hide(id) {
    if (ns4) document.layers[id].visibility = \"hide\"
    else if (ie4) document.all[id].style.visibility = \"hidden\"
}
</script>

<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" height=\"103\">
    <tr>
        <td bgcolor=\"#000000\"><img src=\"images/logo.gif\" width=151 height=103 alt=\"\" border=\"0\"></td>
        <td><a href=\"#\" onMouseOver=\"show(\'Layer1\'),show(\'Layer7\');return true\" onMouseOut=\"hide(\'Layer1\'),hide(\'Layer7\')\"><img src=\"images/menu_bane.jpg\" width=103 height=103 alt=\"\" border=\"0\"></a></td>
</tr>
</table>

<span id=\"Layer1\" style=\"position:absolute; left:155; top:33; width:40; height:25; z-index: 1; visibility: hidden\"><table border=\"0\" cellspacing=\"1\" bgcolor=\"#000000\" cellpadding=\"0\"  marginwidth=\"0\" marginheight=\"0\"><tr><td><table width=\"100%\" height=\"100%\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\" bgcolor=\"#ffffff\"><tr align=\"center\"><td><font class=\"mouseover\">Tekst over mit billede</font></td></tr></table></td></tr></table></span>

<span id=\"Layer7\" style=\"position:absolute; top:170; left:19; width: 151; height:25; z-index: 7; visibility: hidden\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr align=\"center\"><td><font class=\"mouseoverleft\">Tekst i menuen</font></td></tr></table></span>

Avatar billede spectual Nybegynder
09. februar 2001 - 08:51 #1
jeg fatter ikke dit problem
Avatar billede nikolajdu Nybegynder
09. februar 2001 - 08:54 #2
Har du ikke et link?
Avatar billede lip Nybegynder
09. februar 2001 - 09:38 #3
http://www.imma.dk/ultrahak/linda/oplevfyn/
kør musen hen over billedet af toget
Avatar billede spectual Nybegynder
09. februar 2001 - 10:03 #4
Problemet er, at når du kører musen over din tekst, sker der en mouseout event på dit billedelag, så dit script fjerner teksten. Når teksten er fjenet, sker der en mouseover på dit billede og teksten vises igen.

(dette kan du se ved at teksten ikke blinker når du er udenfor teksten).
Avatar billede spectual Nybegynder
09. februar 2001 - 10:07 #5
At få den til at lade være med det, er ikke helt nemt.

Du skal ihvert tilføje en mouseover event på teksten, der sætter en variabel.

Den variabel skal mouseout eventen på dit billedelag teste om er sat, og ikke skjule laget i disse tilfælde.

Hvis du giver mig din mail adresse, så vil jeg sende dig min, så kan du sende det hele til mig (inkl. billeder) og returnerer jeg en version, hvor det virker.
Avatar billede lip Nybegynder
09. februar 2001 - 10:11 #6
>spectual -
Det lyder bare perfekt
linda@imma.dk
Avatar billede spectual Nybegynder
09. februar 2001 - 10:15 #7
Ok - jeg har lavet et eksempel, hvor det virker så du kan se hvad jeg mener:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body bgcolor=\"#FFFFFF\">

<script language=\"JavaScript\">

var regs = new Array (false);

function reg (nr,value) {
regs [nr] = value;
}

function vislag() {
document.all [\"Layer2\"].style.visibility = \"visible\";
}

function perform_skjullag (nr) {
if (regs [nr]==false) { document.all [\"Layer2\"].style.visibility = \"hidden\"; }
}

function skjullag(nr) {
setTimeout (\"perform_skjullag(\"+nr+\");\",50);
}

</script>

<div id=\"Layer1\" onMouseOver=\"java script:vislag();\" onMouseOut=\"java script:skjullag(0);\" style=\"position:absolute; width:291px; height:188px; z-index:1; background-color: #ff0000; layer-background-color: #ff0000; border: 1px none #000000\"></div>

<div id=\"Layer2\" onMouseOver=\"java script:reg(0,true);\" onMouseOut=\"java script:reg(0,false);\" style=\"visibility: hidden; position:absolute; width:200px; height:115px; z-index:2; left: 77px; top: 35px; background-color: #00ff00; layer-background-color: #00ff00; border: 1px none #000000\"></div>
</body>
</html>
Avatar billede spectual Nybegynder
09. februar 2001 - 10:17 #8
Undrer du dig over timeout\'en?

Det er pga. at internet explorerens event ikke sker i den korrekte rækkefølge.
Avatar billede lip Nybegynder
09. februar 2001 - 10:34 #9
Det skal være et mere generelt script, da der skal være mouseover på 6 billeder!
Men jeg kan lige sende dig min fil.
Avatar billede spectual Nybegynder
09. februar 2001 - 10:37 #10
Gør du bare det....
Avatar billede engrob Nybegynder
09. februar 2001 - 14:25 #11
Du kunne også prøve at skrive onMouseOver=\"show(\'Layer1\'),show(\'Layer7\');return true\" onMouseOut=\"hide(\'Layer1\'),hide(\'Layer7\')\" i din span med id\'en Layer1. Det virker ikke i netscape, men det kan jeg se spectuals heller ikke gør.
Avatar billede engrob Nybegynder
09. februar 2001 - 14:25 #12
Du kunne også prøve at skrive onMouseOver=\"show(\'Layer1\'),show(\'Layer7\');return true\" onMouseOut=\"hide(\'Layer1\'),hide(\'Layer7\')\" i din span med id\'en Layer1. Det virker ikke i netscape, men det kan jeg se spectuals heller ikke gør.
Avatar billede engrob Nybegynder
09. februar 2001 - 14:27 #13
Hov ;)
Avatar billede lip Nybegynder
15. marts 2001 - 09:05 #14
jeg har ikke rigtigt fået noget brugeligt svar på mit sp. så jeg lukker spørgsmålet.
Avatar billede lip Nybegynder
26. marts 2001 - 08:35 #15
jeg prøver lige igen
Avatar billede engrob Nybegynder
26. marts 2001 - 14:34 #16
Hvordan er det muligt at få 2x60 point og endda når spørgsmålet kun er på 30?
Avatar billede lip Nybegynder
26. marts 2001 - 14:39 #17
Jeg ved ikke hvad der er gået galt, men under alle omstændigheder har jeg kun fået mine 30 point!
Avatar billede nikolajdu Nybegynder
26. marts 2001 - 14:41 #18
Der er oprettet et spørgsmål i dag vedr. pointene.
Avatar billede lip Nybegynder
26. marts 2001 - 14:49 #19
Har du et link, så vi kan læse lidt om det!??

lip
Avatar billede nikolajdu Nybegynder
26. marts 2001 - 14:50 #20
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