Avatar billede taskmgr Nybegynder
16. juli 2003 - 21:56 Der er 9 kommentarer og
1 løsning

Mit onmouseover script virker inte i NS (mozilla)

Hej eksperter

Jeg er knap så stiv til javascript, så jeg vil høre om nogen ka fortælle mig hvorfor denne ikke virker i mozilla?

<script type="text/javascript">
<!--
var content=new Array()

content[0]='Profil - Hvem er han?'
content[1]='Løsninger - Hvad kan han hjælpe dig med?'
content[2]='Referencer - Hvad har han lavet?'
content[3]='Scripts - Gratis moduler'
content[4]='Tagwall - Skriv en hilsen'
content[5]='Kontakt - Få et gratis tilbud'

function changetext(whichcontent){
if (document.all)
descriptions.innerHTML=whichcontent
}

function reset(){
if (!scriptmenu.contains(event.toElement))
descriptions.innerHTML=temphtml
}
//-->
</script>
Avatar billede TRoXa Novice
16. juli 2003 - 22:00 #1
document.all virker kun i Internet Explorer
Avatar billede taskmgr Nybegynder
16. juli 2003 - 22:01 #2
Jeg bruger funktionen i menuen her:

<script type="text/javascript">
if (document.all)
var temphtml=descriptions.innerHTML
</script>

<div id="scriptmenu" onMouseout="reset()">
<a href="#" onMouseover="changetext(content[0])">Profil</a><br>
<a href="#" onMouseover="changetext(content[1])">Løsninger</a><br>
<a href="#" onMouseover="changetext(content[2])">Referencer</a><br><a href="#" onMouseover="changetext(content[3])">Scripts</a><br>
<a href="#" onMouseover="changetext(content[4])">Tagwall</a><br>
<a href="#" onMouseover="changetext(content[5])">Kontakt</a>
</div>

Og teksten der ændres:

<div id="descriptions" align="left"><b>Menu</b> - hold musen over et link for at se en beskrivelse</div>
Avatar billede =maddog= Nybegynder
16. juli 2003 - 22:02 #3
bingo. hvad er typeof scriptmenu? String?
du kan heller ikke bare bruge event.
function reset(e){
if(e) event=e;
if (!scriptmenu.contains(event.toElement))
descriptions.innerHTML=temphtml;
}

det kan være du skal extende toElement. Jeg vender tilbage med dette.
Avatar billede roenving Novice
16. juli 2003 - 22:18 #4
<script type="text/javascript">
<!--
var content=new Array()

content[0]='Profil - Hvem er han?'
content[1]='Løsninger - Hvad kan han hjælpe dig med?'
content[2]='Referencer - Hvad har han lavet?'
content[3]='Scripts - Gratis moduler'
content[4]='Tagwall - Skriv en hilsen'
content[5]='Kontakt - Få et gratis tilbud'

function changetext(whichcontent){
var d = (document.all)?document.all['descriptions']:document.getElementById('descriptions');
d.innerHTML=whichcontent
}

function reset(){
var d = (document.all)?document.all['descriptions']:document.getElementById('descriptions');
d.innerHTML=temphtml
}
//-->
</script>

<div id="scriptmenu" onMouseout="reset()">
<a href="#" onMouseover="changetext(content[0])" onmouseout="reset()">Profil</a><br>
<a href="#" onMouseover="changetext(content[1])" onmouseout="reset()">Løsninger</a><br>
<a href="#" onMouseover="changetext(content[2])" onmouseout="reset()">Referencer</a><br>
<a href="#" onMouseover="changetext(content[3])" onmouseout="reset()">Scripts</a><br>
<a href="#" onMouseover="changetext(content[4])" onmouseout="reset()">Tagwall</a><br>
<a href="#" onMouseover="changetext(content[5])" onmouseout="reset()">Kontakt</a>
</div>

Og teksten der ændres:

<div id="descriptions" align="left"><b>Menu</b> - hold musen over et link for at se en beskrivelse</div>


</body>
<script type="text/javascript">
var d = (document.all)?document.all['descriptions']:document.getElementById
('descriptions');
var temphtml = d.innerHTML
</script>
Avatar billede taskmgr Nybegynder
16. juli 2003 - 22:24 #5
Smukt... det fungerer nu, og jeg fik fat i problemet :)

Takker - smid nogle svar
Avatar billede roenving Novice
16. juli 2003 - 23:15 #6
Velbekomme '-)

-- du fattede, at det ikke virker i andet end IE når man bruger proprietære IE-metoder ?-)
Avatar billede taskmgr Nybegynder
17. juli 2003 - 00:16 #7
Ja, og det overrasker mig faktisk helt vildt.

Har aldrig kodet clientside, kun serverside (php), og havde faktisk ingen anelse om at de sætter deres egne standarder på den måde...
Avatar billede roenving Novice
17. juli 2003 - 00:22 #8
Det værste er faktisk at de udgiver referencer, som overhovedet ikke gør opmærksom på, at der findes en standard, som de er gået udover ...

Visse steder kan man se det ved nærlæsning, f.eks. ved henvisninger til 'Microsoft css-extensions' når der omtales filter-objektet, men document.all opfattes i alt microsoft-skrevet som en naturlig del af verden, selvom w3c explicit har vendt fingeren nedad !-)

-- og når de så endelig kommer så langt, at der forespørges på property'en (som her) fremgår det ikke, at man lige kan lave nogle småting, så det også virker en masse andre steder ...
Avatar billede taskmgr Nybegynder
17. juli 2003 - 14:25 #9
Jeg takker igen for den gode besvarelse...

Da i andre ikke har lagt svar endnu, tilfalder alle point roenving
Avatar billede roenving Novice
17. juli 2003 - 14:32 #10
-- og tak for points ;~}
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