Toon posts:

[JS] Een opdracht in een string?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een functie invoegen in een string maar ja als ik dit doe heb ik die aanhalingtekens nodig '' maar ja dan krijg je steeds errors in IE hoe kan ik dit oplossen? Ik heb de \' ook al geprobeerd maar geeft nog steeds errors.

Ik heb dit nu zo: heb een menu dat menu (dit werkt prima) staat helemaal met html in de strings van het array en ik wil dat als je er met de muis over de links gaat dat er dan in de statusbar een beschrijving komt dit kan alleen met JS dus moet een functie invoegen zoals hieronder. De functie "statusbar" werkt wel bij de gewone links die ik in de page heb dus daar licht het niet aan.
code:
1
2
3
var links=new Array()
links[0]='<a OnMouseOver="statusbar('iets met text')" href="page/page1.htm">pagina 1</a>'
links[0]='<a OnMouseOver="statusbar('iets met text2')" href="page/page2.htm">pagina 2</a>'

[edit]
/' = nu \'

Verwijderd

code:
1
links[0]='<a OnMouseOver="statusbar(\'iets met text\')" href="page/page1.htm">pagina 1</a>';

\' i.p.v. /' dus...en de regel afsluiten met ';

Verwijderd

Topicstarter
ja je hebt gelijk het is een tik foutje maar het werkt bijde niet dus

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:22

crisp

Devver

Pixelated

Ik neem aan dat je functie statusbar zoiets is:
code:
1
2
3
function statusbar(text) {
  window.status=text;
}

In dat geval dien je na het aanroepen van je functie 'true' terug te geven op je onMouseOver als je het meteen in de statusbar wilt zien.
Verder is het een kwestie van al je regels netjes met ; af te sluiten en de enkele quotes binnen je string te escapen:
code:
1
2
3
var links=new Array();
links[0]='<a OnMouseOver="statusbar(\'iets met text\'); return true" href="page/page1.htm">pagina 1</a>';
links[1]='<a OnMouseOver="statusbar(\'iets met text2\'); return true" href="page/page2.htm">pagina 2</a>';

Intentionally left blank


Verwijderd

Topicstarter
mijn vraag is hoe ik een funcitie invoeg in een string en niet hoe ik text in de status bar zet dat is ouwe koek. dit return true dat heb ik al toegevoed in de functie die ik al eerder aangemaakt heb. en de "statusbar(\'iets met text\')" werkt niet. en dat licht niet aan de functie statusbar want zoals ik al zei die werkt gewoon. maar niet als ik hem heb toegevoegd aan de string

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Het gaat allemaal om die 'return true'. lees daar eens wat info over.

Stop uploading passwords to Github!


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:22

crisp

Devver

Pixelated

De 'return true' MOET in de onMouseOver; het is namelijk de onMouseOver die 'true' moet zijn. Als je de 'return true' in de functie hebt gezet moet je hem zo aanroepen:
onMouseOver="return statusbar(\'some text\')"

Intentionally left blank


Verwijderd

Topicstarter
Mensen !LEES! nou eens een keer ik weet wel hoe je een text message in de status balk moet proppen en dat retun true is ook bekent en bovendien zonder werkt het ook net zo goed hier. en die statusbar functie was slechts al voorbeeld bedoeld mischien wil ik er wel een popup invoegen. want het is voor mij ook wel bekent dat het moet zoals hieronder
code:
1
OnMouseOver="return statusbar('Home')" OnMouseOut="return statusbar('')"

Wat ik wil is (Voor de 3e X) een functie in een string proppen maar door dat je daardoor 2x die aanhalingstekens gebruiken (een x voor de string en een x voor de functie zelf) en dat werkt niet. Waarom wil ik dit, de string bevat html met een OnMouseOver dus met dat de muis erover gaat moet die functie in werking gaan.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

licht > ligt
bijde > beide
mischien > misschien
bekent > bekend

Niet gek dat we je niveau iets verkeerd inschatten... :P

Maar goed.. met \' is het prima code, dus het LIGT toch ergens anders aan.. Misschien als je eens de rest van de code gaf.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:22

crisp

Devver

Pixelated

Ik snap het ook niet meer hoor.
Ik heb de code die ik eerder postte getest door in de body dit op te nemen:
code:
1
2
3
4
5
<script language="JavaScript">
  document.write(links[0]);
  document.write('<br>');
  document.write(links[1]);
</script>

Ik kreeg toen keurig netjes 2 linkjes op het scherm waarbij de onMouseOver gewoon werkte.

Intentionally left blank


  • Tom
  • Registratie: Juni 1999
  • Niet online

Tom

ik moest het doen :X

[img]"http://tweakers.net/~crew/tom/zooi/opdrachtinstring.jpg"[/img]

Verwijderd

Topicstarter
Ja ik weet het mijn nederlands is niet zo best vooral als er geen auto correctie van word ofzo bij zit (ben ik erg aan gewend). Maar ik ben aan het zoeken gegaan en ik kwam tot de conclusie dat ik ben gaanproberen met het woord hobby's die in de status balk moest komen. Dat was het probleem nu heb ik van alles geprobeerd zoals:
code:
1
links[0]='<a href="page.htm" OnMouseOver="return statusbar(\'Hobby\\'s\')OnMouseOut="return statusbar(\'\')">pagina</a>"

En
code:
1
links[0]='<a href="page.htm" OnMouseOver="return statusbar(\'Hobby\'s\')OnMouseOut="return statusbar(\'\')">pagina</a>"

Beide (:P) werkte niet dus heb maar besloten om over te gaan op de grote broer van het aanhalingsteken (') naar het teken dat je naast de 1 kan vinden en nu werkt het wel *D. Voor het resultaat klik op het huisje

[edit]
de /jes
Pagina: 1