Avatar billede eik Nybegynder
15. december 2006 - 10:59 Der er 5 kommentarer og
1 løsning

onMouseOut driller!

Den onmouseout der er på id="menu" opfører sig ikke som den skal. Meningen er at menuen åbner ved at man køre musen over "Open menu", Så skal man kunne bruge den menu som åbner og den skal først lukke når man kører musen ud og væk fra den åbne menu.

Jeg håber nogen kan hjælpe!

Takker,


<!DOCTYPE html PUBLIC "-//W3C//DTD xhtml 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
<script type="text/javascript">
var iTimerID = 0;

function timerStart() { iTimerID  = setTimeout("menuClose()", 1000); }

function timerStop()
{
    if(iTimerID)
    {
        clearTimeout(iTimerID);
        iTimerID = 0;
    }
}

function menuOpen()
{
    obj = document.getElementById("menu");
    obj.innerHTML = '<table border="1"><tr><td>Link 1</td><td>Link 2</td><td>Link 3</td></tr></table>';
}

function menuOut() { timerStart(); }
function menuUse() {  }

function menuClose()
{
    obj = document.getElementById("menu");
    obj.innerHTML = '';
    timerStop();
}

</script>
<style>#menu {border:1px solid; width:150px;}</style>
</head>
<body>
<table>
<tr>
    <td><a href="#" onmouseover="menuOpen();">Open menu</a></td>
</tr>
</table>
<div id="menu" onmouseover="menuUse();" onmouseout="menuOut();"></div>
</body>
</html>
Avatar billede roenving Novice
15. december 2006 - 11:26 #1
Brug ikke innerHTML til noget sådant, skriv f.eks.

<!DOCTYPE html PUBLIC "-//W3C//DTD xhtml 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
<script type="text/javascript">
var iTimerID = 0;

function timerStart() { iTimerID  = setTimeout("menuClose()", 1000); }

function timerStop()
{
    if(iTimerID)
    {
        clearTimeout(iTimerID);
        iTimerID = 0;
    }
}

function menuOpen()
{
    obj = document.getElementById("menuTable");
    obj.style.display = 'block';
}

function menuOut() { timerStart(); }
function menuUse() { timerStop(); }

function menuClose()
{
    obj = document.getElementById("menuTable");
    obj.style.display = 'none';
    timerStop();
}

</script>
<style>#menu {border:1px solid; width:150px;}</style>
</head>
<body>
<table>
<tr>
    <td><a href="#" onmouseover="menuOpen();">Open menu</a></td>
</tr>
</table>
<div id="menu" onmouseover="menuUse();" onmouseout="menuOut();">
<table id="menuTable" style="display:none;" border="1"><tr><td>Link 1</td><td>Link 2</td><td>Link 3</td></tr></table></div>
</body>
</html>
Avatar billede olebole Juniormester
15. december 2006 - 12:21 #2
<ole>

Faktisk kan innerHTML slet ikke bruges under XHTML. Du opdager det bare ikke, fordi alle gængse browsere fortolker dit dokument som skidt HTML. Det kommer først til at ændre sig, når browserne engang begynder at under støtte ægte XHTML - engang ad åre, når standarden hedder XHTML2.0  ;o)

/mvh
</bole>
Avatar billede eik Nybegynder
18. december 2006 - 10:46 #3
Perfekt 1000 tak!

En sidste ting, når man har nogle input felter under et layer og ser det i IE6, så bliver de ikke skjult men "skinner igemmen", hvorfor det?
Avatar billede roenving Novice
18. december 2006 - 16:05 #4
Selects er windowed elements i IE, hvorfor de ikke kan skjules bag andre elementer, brug f.eks. samme løsning, som Eksperten bruger, selects skjules, hvis f.eks. en dropdown kan ramme den samme plads (se det f.eks. i en oversigt, hvor menuen åbnes !-)

-- els velbekomme '-)
Avatar billede eik Nybegynder
18. december 2006 - 16:49 #5
Takker!
Avatar billede roenving Novice
18. december 2006 - 18:10 #6
-- og jeg takker for point ;~}
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



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows