Ga naar inhoud

[JavaScript] Syntax-error


Aanbevolen berichten

Hallo mensen, wat is er fout aan de volgende code: [code:1:d0b234cd31]document.write('<img src="afbeeldingen/design/sound_off.gif" width="56" height="24" border="0" alt="Sound Off" onMouseOver="swap(21,sound_offa); audioDo('play','Beep')" onMouseOut="swap(21,sound_off)" onclick="AudioToggle()">');[/code:1:d0b234cd31] De fout is: ) wordt verwacht. :-? Wat heb ik nu verkeerd gedaan? :o Groeten van Lennart Goosens. :P :wink:
Link naar reactie
zoiets lijkt me meer in de richting: [code:1:bb04df6851] document.write('<img src="afbeeldingen/design/sound_off.gif" width="56" height="24" border="0" alt="Sound Off" onMouseOver="javascript:swap(21,sound_offa);audioDo(\'play\',\'Beep\')" onMouseOut="javascript:swap(21,sound_off)" onClick="javascript:AudioToggle()">'); [/code:1:bb04df6851] maw, omdat je je code tussen ' en ' hebt staan moet je het gebruik van deze tekens in je code daartussen escapen met \. Verder is het gebruikelijk 'javascript:' voor de functies te zetten in de OnMouseOver's e.d. [edit] Oh en ik vraag me af of dit zowieso wel gaat werken, aangezien de onMouseOver/onMouseOut/onClick volgens mij alleen bij hyperlinks gebruikt kunnen worden (dus <a href="#" onMouseOver=.... onMouseOut=... onClick=...><img src=""></a>. [/edit]
Link naar reactie
[quote:d643d962d0="jkossen"]zoiets lijkt me meer in de richting: [code:1:d643d962d0] document.write('<img src="afbeeldingen/design/sound_off.gif" width="56" height="24" border="0" alt="Sound Off" onMouseOver="javascript:swap(21,sound_offa);audioDo(\'play\',\'Beep\')" onMouseOut="javascript:swap(21,sound_off)" onClick="javascript:AudioToggle()">'); [/code:1:d643d962d0] maw, omdat je je code tussen ' en ' hebt staan moet je het gebruik van deze tekens in je code daartussen escapen met \. Verder is het gebruikelijk 'javascript:' voor de functies te zetten in de OnMouseOver's e.d. [edit] Oh en ik vraag me af of dit zowieso wel gaat werken, aangezien de onMouseOver/onMouseOut/onClick volgens mij alleen bij hyperlinks gebruikt kunnen worden (dus <a href="#" onMouseOver=.... onMouseOut=... onClick=...><img src=""></a>. [/edit][/quote:d643d962d0] Die edit was niet nodig, want de onmousovers werken. Maar ik heb nu een probleem: hoe voorkom ik dat document.write een nieuw leeg blanco document opent waarin alleen die image staat? :( Mijn volledige code is: [code:1:d643d962d0]document.write('<img src="afbeeldingen/design/sound_off.gif" width="56" height="24" border="0" alt="Sound Off" onMouseOver="swap(21,sound_offa); audioDo(\'play\',\'Beep\')" onMouseOut="swap(21,sound_off)" onclick="AudioToggle()">'); function AudioToggle() { if (audioOn == true) { audioOn = false; document.write('<img src="afbeeldingen/design/sound_ona.gif" width="56" height="24" border="0" alt="Sound On" onMouseOver="swap(21,sound_ona); audioDo(\'play\',\'Beep\')" onMouseOut="swap(21,sound_on)" onclick="AudioToggle()">'); } else { audioOn = true; document.write('<img src="afbeeldingen/design/sound_offa.gif" width="56" height="24" border="0" alt="Sound Off" onMouseOver="swap(21,sound_offa); audioDo(\'play\',\'Beep\')" onMouseOut="swap(21,sound_off)" onclick="AudioToggle()">'); } }[/code:1:d643d962d0] De functie AudioToggle() roept weer dingen aan uit twee andere scripts. Eerst doet hij het wel goed, maar bij de tweede en derde keer document.write niet! :o Groeten van Lennart Goosens. :P :wink:
Link naar reactie
[quote:16df6fd32a="jkossen"]Verder is het gebruikelijk 'javascript:' voor de functies te zetten in de OnMouseOver's e.d. [/quote:16df6fd32a] Misschien is het wel gebruikelijk, maar ook hartstikke fout ;) Niet doen dus [quote:16df6fd32a="jkossen"] [edit] Oh en ik vraag me af of dit zowieso wel gaat werken, aangezien de onMouseOver/onMouseOut/onClick volgens mij alleen bij hyperlinks gebruikt kunnen worden (dus <a href="#" onMouseOver=.... onMouseOut=... onClick=...><img src=""></a>. [/edit][/quote:16df6fd32a] Gelukkig zijn deze events niet alleen voorbehouden aan links. @TS: document.write zal altijd een nieuw document starten. Behalve tijdens het inladen van de pagina, op dat moment kan je nog onderdelen op deze wijze aan de document tree toevoegen. Je zal het dus op een andere manier moeten oplossen. Misschien moet je eens kijken naar de mogelijkheden om dynamisch bepaalde properties van een images te wijzigen (bijv. de src en de eventhandlers). Voorbeeldje: [code:1:16df6fd32a] <script type="text/javascript"> function toggleAudio(img) { if (audioOn == true) { img.src = "off.gif"; img.onmouseover = function () { swap(21,sound_ona); audioDo('play', 'Beep'); } // enz. } else { img.src = "on.gif"; img.onmouseover = function () { swap(21,sound_offa); audioDo('play', 'Beep'); } // enz. } audioOn = !audioOn; } </script> <img src="on.gif" onclick="toggleAudio(this)" onmouseover="swap(21,sound_offa); audioDo('play', 'Beep');" /> [/code:1:16df6fd32a] p.s. code is alleen maar bedoeld als voorzetje en geen kant-en-klaar-maaltijd ;)
Link naar reactie
Hallo allemaal, [quote:bb6ff7e3b7="Annie"]p.s. code is alleen maar bedoeld als voorzetje en geen kant-en-klaar-maaltijd :wink: [/quote:bb6ff7e3b7] Gelukkig weet ik van voorzetjes altijd prima maaltijden te bereiden, dus hoefde mijn pc gisteren niet met lege maag te gaan slapen! :P :wink: Heel erg bedankt, want het werkt nu. Er zaten nog wat kronkels in je ontwerp, zoals dat je img.src in off.gif veranderde. Omdat op dat moment de muiscursor nog boven de knop zit, moet dan sound_offa.gif weergegeven worden, de onmouseover-versie. Het is allemaal werkend te bekijken op mijn site [url]http://www.warpcore.tk/[/url], deze gaat trouwens over Star Trek. Klik linksonder maar eens op SOUND OFF, en dan verandert de knoptekst. Klik nu weer op SOUND ON en het geluid (dat wil zeggen de piepjes van de knopjes) gaat weer aan. Let er ook op dat het knopje SOUND OFF zelf ook piept, maar niet meer als het geluid aan staat en de tekst dus SOUND ON is. Hartelijk bedankt!!!!!! Groeten van Lennart Goosens. :P :wink:
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...