Ga naar inhoud

[JS] Function die aan ander function afbreekt.


Aanbevolen berichten

Kan de ene functie de andere afbreken. Ik heb namelijk 2 functie's die elkaar tegenwerken:[code:1:ad19bae36c] <script type="text/javascript"> var i = 22; function menu(){ document.getElementById("foto").style.display = "none"; } function openen(){ document.getElementById("foto").style.display = "block"; if (i != 2) { document.getElementById("foto").style.top = i + "px"; i = i-2; setTimeout("openen();",'10'); } } function sluiten(){ if (i != 22) { document.getElementById("foto").style.top = i + "px"; i = i+2; setTimeout("sluiten();",'10'); } else document.getElementById("foto").style.display = "none"; } </script>[/code:1:ad19bae36c]Als ze beide uitgevoerd worden nlijft het divje dus staan.
Link naar reactie
Hij doet ut nie!! :cry: [code:1:a999c05fec]function openen(){ clearTimeout('sluiten'); document.getElementById("foto").style.display = "block"; if (i != 100) { i = i + 5; document.getElementById("foto").style.MozOpacity = i / 100; // document.getElementById("foto").style.opacity = i; window.status = i; var openen = setTimeout("openen();",'50'); } } function sluiten(){ clearTimeout('openen'); if (i != 0) { i = i - 5; document.getElementById("foto").style.MozOpacity = i / 100; // document.getElementById("foto").style.opacity = i; window.status = i; var sluiten = setTimeout("sluiten();",'50'); } else document.getElementById("foto").style.display = "none"; } </script>[/code:1:a999c05fec] Ik heb ook geprobeerd om 'openen'en 'sluiten' aan het begin te definieren, mocht niet baten./
Link naar reactie
Je declareert de variabelen 'openen' en 'sluiten' lokaal. In de scope van de andere functie zijn ze dus niet bekend. Daarnaast is het de bedoeling dat je aan clearTimeout een timerId (variabele referentie) meegeeft en niet een stringwaarde (wat je nu doet). p.s. Je gebruikt ook dezelfde namen voor functies en variabelen, probeer dat te vermijden. Het komt de duidelijkheid/leesbaarheid van je scripts ten goede en daarnaast kan het ook ongewenste fouten geven.
Link naar reactie
[quote:9ef56502a0="Annie"]Je declareert de variabelen 'openen' en 'sluiten' lokaal.[/quote:9ef56502a0] Ik heb ook dit gezegd:[quote:9ef56502a0="Ik"]Ik heb ook geprobeerd om 'openen'en 'sluiten' aan het begin te definieren, mocht niet baten.[/quote:9ef56502a0]Met 'aan het begin' bedoel ik dus direct na de <script> tag.[quote:9ef56502a0="Annie"]Daarnaast is het de bedoeling dat je aan clearTimeout een timerId (variabele referentie) meegeeft en niet een stringwaarde (wat je nu doet).[/quote:9ef56502a0]Dit zegt me niet zo heel veel; ik ben geen kenner, ik ben een prutser (was men vast al wel achter). Probeer te leren van voorbeelden, bronnen bekijken. Dus wat bedoel je met 'variable referentie'?
Link naar reactie
En wat lukte er dan niet? Krijg je een foutmelding? Wordt de functie uberhaupt aangeroepen? Heb je al geprobeerd om het exacte probleem te lokaliseren door bijvoorbeeld strategisch alerts te plaatsen of delen uit te schakelen in het script? Misschien ligt het probleem wel heel ergens anders. Het basic debug werk dus.
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...