[javascript] onMouseDown Count continiu

Pagina: 1
Acties:
  • 110 views sinds 30-01-2008
  • Reageer

  • Mir
  • Registratie: Maart 2001
  • Niet online
Ej!

Wat ik nu heb is dat wanneer je een knop indrukt er een waarde 1 punt bij krijgt.

Wat ik wil is dat wanneer de gebruiker de knop ingedrukt houdt deze door blijft lopen. Het wil me maar niet lukken.

Heeft iemand enig idee hoe dit opgelost zou kunnen worden?

Tnx! gr. maarten

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

while?

Doet iets met Cloud (MS/IBM)


  • Mir
  • Registratie: Maart 2001
  • Niet online
Ja, maar While wat?
while item.mousedown == true? :)

En sorry..het is in een Browser omgeving (Ieplorer...Netscape zal niet gebruikt worden (is intern))

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Zou ik met een timeout doen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<script language="JavaScript" type="text/javascript">
var timeoutPtr = false;

function startTimeout ()
{
   if ( !timeoutPtr )
     timeoutPtr = setInterval ( "increase()", 500 );
}

function stopTimeout ()
{
   if ( timeoutPtr )
   {
    clearInterval ( timeoutPtr );
    timeoutPtr = false;
   }
}

function increase ()
{
   document.element.value ++; // vul hier in wat er moet staan ;)
}
</script>


<button onMouseDown="startTimeout();" onMouseUp="stopTimeout();">

hth

edit:
setTimeout setInterval

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 13:04 schreef drm het volgende:
Zou ik met een timeout doen.
code:
1
...

hth
Hmm...Is te begrijpen :)

die 500 kan je mee spelen om zo de interval te veranderen neem ik aan...

Ga eerst even eten :9 en dan even proberen!

Ik geef trouwens wel altijd een Item naam mee, maar dat is op te lossen (kom ik zelf wel uit mag ik hopen :) )

tnx!

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

move webscripting > W&G

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Mir:
Hmm...Is te begrijpen :)

die 500 kan je mee spelen om zo de interval te veranderen neem ik aan...
Precies. Dat is om te controleren met welke snelheid die counter oploopt. Zodat de mensen met een snelle (browser en)pc het ook nog bij kunnen houden ;)

de interval is in milliseconden.

:o Oops, daar bedenk ik me ineens wat. Het moet setInterval zijn en niet setTimeout
* drm schaamt zich heel diep en gaat het meteen veranderen
Ga eerst even eten :9 en dan even proberen!

Ik geef trouwens wel altijd een Item naam mee, maar dat is op te lossen (kom ik zelf wel uit mag ik hopen :) )
Daar vertrouw ik op :D

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

Op maandag 19 november 2001 13:13 schreef drm het volgende:
:o Oops, daar bedenk ik me ineens wat. Het moet setInterval zijn en niet setTimeout
Hoeft toch niet? Je kan er ook een recursieve functie van maken...

  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 13:13 schreef drm het volgende:

Daar vertrouw ik op :D
doe dat maar niet teveel ;)

toch kom ik er niet geweldig uit :)
code:
1
    timeoutPtr = setInterval ("Increase('Item')", 500 );

Hij roept Increase niet aan... :{
code:
1
    timeoutPtr = setInterval ("Increase('[Item]')", 500 );

ook al geprobeerd



bij:
code:
1
function startTimeout (Item)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Pelle:
Hoeft toch niet? Je kan er ook een recursieve functie van maken...
Waarom zou je als setInterval die functionaliteit al biedt :?
En dan nog, die recursiviteit had ik er niet ingezet :P
Mir: liet weten dat hij er niet uit kwam...
Probeer dit eens:
code:
1
timeoutPtr = setInterval ("Increase()", 500, Item );

De argumenten na de eerste 2 in de setInterval aanroep worden meegegeven aan de functie die in het eerste argument gespecificeerd is.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

Op maandag 19 november 2001 13:57 schreef drm het volgende:
Waarom zou je als setInterval die functionaliteit al biedt :?
Geen idee; op de een of andere manier ben ik altijd geneigd dat soort oplossingen te verzinnen in plaats van de easy way te bewandelen :)
En dan nog, die recursiviteit had ik er niet ingezet :P
True, maar dat zei ik dus alleen maar om aan te geven dat het wel kan met setTimeout :)

  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 13:57 schreef drm het volgende:


Probeer dit eens:
code:
1
timeoutPtr = setInterval ("Increase()", 500, Item );

De argumenten na de eerste 2 in de setInterval aanroep worden meegegeven aan de functie die in het eerste argument gespecificeerd is.
Dat heb ik.... Maar het lijkt alsof hij nu Increase niet aanroept... (heb er alert("dd") in staan als test)


* Mir gaat even die setinterval syntax lezen..



[edit]
code:
1
2
3
4
5
6
intervalID = object.setInterval(expression, msec [, language])

Parameter Description 
expression  String containing the script code to execute each time the interval elapses. 
msec  Integer value or numeric string specifying the length of the interval, in milliseconds. 
language  Optional. String specifying the language in which the code is executed.

huh?

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 15:27

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

* Thijsmans weet het verschil niet tussen Interval en Timeout...

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

Op maandag 19 november 2001 14:16 schreef Prammenhanger het volgende:
* Pelle weet het verschil niet tussen Interval en Timeout...
setInterval start een timertje dat om de x milliseconden een functie uitvoert, net zolang totdat de timer weer gestopt wordt.

setTimeout wacht x milliseconden totdat de functie uitgevoerd moet worden, en voert de functie maar eenmalig uit.

Verschil: loop vs. eenmalige actie

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Pelle:
True, maar dat zei ik dus alleen maar om aan te geven dat het wel kan met setTimeout :)
I know, i know. Dat ontken(de) ik ook niet ;)
Op maandag 19 november 2001 14:03 schreef Mir het volgende:

[..]

Dat heb ik.... Maar het lijkt alsof hij nu Increase niet aanroept... (heb er alert("dd") in staan als test)
Let wel op case-sensitivity.
* Mir gaat even die setinterval syntax lezen..

(...)

huh?
Waar heb je die vandaan?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Mir
  • Registratie: Maart 2001
  • Niet online
Krijg het maar niet voor elkaar die Item mee te sturen..

heb het even van me afgezet, straks even met frisse moot ernaar kijken..

  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 14:30 schreef drm het volgende:


Waar heb je die vandaan?
http://bcarroll.siscom.net/HTMLDocs/IE4ResKit/dhtml/references/methods/setInterval.htm

is zeker niet de goeie? ;(

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Ik krijg het idd ook niet voor elkaar met een argument aan die functie. Maar met een global variabele werkt het wel.

js:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
   var toPtr = false,
     itemToIncrease = false;
   
   function timeout ( start, item )
   {
    if ( start && !toPtr )
    {
       itemToIncrease = item;
       toPtr = setInterval ( increase, 500 );
    }
    else if ( toPtr && !start )
    {
       clearInterval ( toPtr );
       toPtr = false;
    }
   }
   
   function increase ()
   {
    if ( !itemToIncrease )
       return;
    document.forms [ 'melp' ].elements [ itemToIncrease ].value ++;
   }

html:
code:
1
2
3
4
<form name="melp">
<input type="text" name="sjaak1" value="0"><input type="button" onMouseDown="timeout ( true, 'sjaak1' );" onMouseUp="timeout ( false, '' );">
<input type="text" name="sjaak2" value="0"><input type="button" onMouseDown="timeout ( true, 'sjaak2' );" onMouseUp="timeout ( false, '' );">
</form>

edit:
typo

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

Dit lijkt op een probleempje waar ik laatst ook tegenaanliep. Zie http://jj.upnet.nl/dj/dobbel2.html .

In de functie randomNumber() wilde ik de argumenten die meegegeven waren aan die functie aanpassen, en daarna via een setTimeout weer meegeven aan dezelfde functie (recursief loopje dus). Maar dat wilde niet.
Als ik de namen van die argumenten veranderde (dus gewoon de vars kopieren naar iets met een andere naam), dan werkte het wel.

Dit werkt dus niet:
code:
1
2
3
4
function randomNumber(howMany,howLong) {
      // knip
      setTimeout('randomNumber((howMany-1),howLong)',howLong);
}

Maar dit wel:
code:
1
2
3
4
5
6
function randomNumber(howMany,howLong) {
      minusOne      = howMany - 1;
      newTime           = howLong;
      setTimeout('randomNumber(minusOne,newTime)',howLong);
    }
}

* Pelle deed nie snap nie

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op maandag 19 november 2001 14:48 deelde Pelle een van zijn onmisbare ervaringen met ons en vertelde:
* Pelle deed nie snap nie
* drm ook nie :?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Mir
  • Registratie: Maart 2001
  • Niet online
Ik heb het nu voor elkaar :9

Op een wat andere manier dan de gegeven voorbeelden (al gaven deze mij wel inspiratie :) )...werk met idd Public Vars.

Probleem nu is:

Klik - hij telt
Klik - hij doet niets
Klik - hij telt nu weer


heel vreemd...maar ik kijk even of dit op te lossen valt...

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op maandag 19 november 2001 15:26 schreef Mir het volgende:
Ik heb het nu voor elkaar :9

Op een wat andere manier dan de gegeven voorbeelden (al gaven deze mij wel inspiratie :) )...werk met idd Public Vars.

Probleem nu is:

Klik - hij telt
Klik - hij doet niets
Klik - hij telt nu weer


heel vreemd...maar ik kijk even of dit op te lossen valt...
Heb je mijn 1-na laatste post nog uitgeprobeerd?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 15:28 schreef drm het volgende:

[..]

Heb je mijn 1-na laatste post nog uitgeprobeerd?
Jah, maar werkte niet echt lekker bij mij..heb er vlink in zitten verbouwen en nu doet het wat ik wil!!

Het geeft nog steeds het probleem van het switches (klik1 werkt, klik2 niet, klik3 wel)
onwijs bedankt!!!




-- Valt het op dat ik Java niet beheers? ;) --

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

Op maandag 19 november 2001 15:47 schreef Mir het volgende:
Jah, maar werkte niet echt lekker bij mij..heb er vlink in zitten verbouwen en nu doet het wat ik wil!!
Wij willen code zien!
Wij willen code zien!
Wij willen code zien!

:)
-- Valt het op dat ik Java niet beheers? ;) --
Yep, want we hebben het hier namelijk al 3 uur over JavaScript ;)

  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 15:49 schreef Pelle het volgende:

[..]

Wij willen code zien!
Wij willen code zien!
Wij willen code zien!

:)
Nog niet, het werkt niet zoals ik wil :{
[..]

Yep, want we hebben het hier namelijk al 3 uur over JavaScript ;)
Bedoel maar :z

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

Op maandag 19 november 2001 15:50 schreef Mir het volgende:
Nog niet, het werkt niet zoals ik wil :{
Eurhm...
en nu doet het wat ik wil!!
:?

/edit
Ah, ik zie je strike-through nu :)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Pelle:
Yep, want we hebben het hier namelijk al 3 uur over JavaScript ;)
:D

Mir: Post even de code die je nu hebt. (of een linkje)

Anders zitten we een beetje in het niks te zoeken.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Mir
  • Registratie: Maart 2001
  • Niet online
U want the code, you have the code :)

Dit is Totaal anders dan er als voorbeeld gegeven wordt, toch leidt dit van de voorbeelden af

js
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   var Dummy = false,
     sItem = '';
    Dummy = setInterval ( Increase, 800 );

function Increase (item)
{
    if (!item){
        item = sItem
    }
    if (item){
        sItem = item
        document.forms [ 'Voorraad' ].elements [ item ].value ++;
    }
}

HTML
code:
1
2
3
4
<form name=Voorraad blablabla>
    <button onMouseDown="Increase('Sjaak1') ;" onMouseUp="sItem= '' ;">
    <button onMouseDown="Increase('Sjaak2') ;" onMouseUp="sItem= '' ;">
</form>

[edit]
Klote is dat je nu toch nog wel die 1wel 2niet 3wel houdt!! :'(

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op maandag 19 november 2001 16:03 schreef Mir het volgende:
U want the code, you have the code :)

Dit is Totaal anders dan er als voorbeeld gegeven wordt, toch leidt dit van de voorbeelden af
Dan heb je het wel door een soort van HTML-JavaScript-shredder gehaald, want ik zie er helemaal niets van terug... :?

• Waar zet je de interval stop? clearInterval()
• wat doet sitem?
• Hoe wordt nagegaan of de interval nog loopt of niet?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 16:07 schreef drm het volgende:

[..]

Dan heb je het wel door een soort van HTML-JavaScript-shredder gehaald, want ik zie er helemaal niets van terug... :?
dan heten mijn hersens voortaan HTML-JavaScript-shredder :)
• Waar zet je de interval stop? clearInterval()
Zit er niet...blijft constant Increase aanroepen
• wat doet sitem?
Dit is een soort Buffer..die blijft vol totdat onMouseUp aangeroepen wordt
• Hoe wordt nagegaan of de interval nog loopt of niet?
Blijft doorlopen dus, is dus ook niet nodig.

  • Mir
  • Registratie: Maart 2001
  • Niet online
hoe laat je hem uit zn Function schieten?


exit function wil niet werken

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

* Pelle vergat alles wat hij hier in dit topic gelezen had en ging ook eens kijken
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Pelle is een prutser maar drm ook</title>
    <script language="javascript" typeE="text/javascript">
    <!--
      function zetTellerEensAan(welkeDan) {
        nouDeze = welkeDan;
        huidigeTeller = setInterval('tellenKreng(nouDeze)',10);
      }
      function tellenKreng(welkeOokAlweer) {
        hetGeval      = document.forms['sjako'].elements[welkeOokAlweer];
        deWaarde      = hetGeval.value;
        deWaardePlusEen = eval(deWaarde) + 1;
        hetGeval.value  = deWaardePlusEen;
        
      }
      function kappeNou() {
        clearInterval(huidigeTeller);
      }
    //-->
    </script>
</head>

<body>

<form name="sjako">
    <input name="blab" type="text" size="5" value="0">&nbsp;
    <button onMouseDown="zetTellerEensAan('blab')" onMouseUp="kappeNou()">press me!</button> <br><br>

    <input name="porno" type="text" size="5" value="0">&nbsp;
    <button onMouseDown="zetTellerEensAan('porno')" onMouseUp="kappeNou()">oh ja wel!</button> <br><br>
    
</form>
</body>
</html>

Graag gedaan :)

/edit
zie paar posts hieronder

  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 16:30 schreef Pelle het volgende:
* Pelle vergat alles wat hij hier in dit topic gelezen had en ging ook eens kijken
code:
1
...

Graag gedaan :)
nog even niet getest... maar wat ik wel al zie is:

Als je nu 1 keer op de knop drukt gebeurd er niets...je moet wachten op de Timer.

Probeer namenlijk eens met de source:
een korte (normale) klik op je knop te geven..
dan hem lang ingedrukt te houden; doet 'ie het dan ook nog?

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

Op maandag 19 november 2001 16:32 schreef Mir het volgende:
Probeer namenlijk eens met de source:
een korte (normale) klik op je knop te geven..
dan hem lang ingedrukt te houden; doet 'ie het dan ook nog?
Test maar. Doet het perfect. Bij zowel een korte (10) als lange (1000) interval.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op maandag 19 november 2001 16:34 schreef Pelle het volgende:

[..]

Test maar. Doet het perfect. Bij zowel een korte (10) als lange (1000) interval.
Test maar. Korte klik op het knopje bij een lange interval betekent geen ophoging.

oplossing:
code:
1
2
3
4
5
      function zetTellerEensAan(welkeDan) {
        nouDeze = welkeDan;
        tellenKreng ( nouDeze );
        huidigeTeller = setInterval('tellenKreng(nouDeze)',100);
      }

oh ja, en verander dit:
code:
1
<title>pelle roelt</title>

even in:
code:
1
<title>Pelle prutst<title>

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

Op maandag 19 november 2001 16:41 schreef drm het volgende:
Test maar. Korte klik op het knopje bij een lange interval betekent geen ophoging.

oplossing:
code:
1
2
3
4
5
      function zetTellerEensAan(welkeDan) {
        nouDeze = welkeDan;
        tellenKreng ( nouDeze );
        huidigeTeller = setInterval('tellenKreng(nouDeze)',100);
      }
Oh zo, dan begreep ik het verkeerd. Dacht dat hij op iets anders doelde (namelijk dit:
Klik - hij telt
Klik - hij doet niets
Klik - hij telt nu weer
). Maar dat was niet.
oh ja, en verander dit:
code:
1
<title>pelle roelt</title>

even in:
code:
1
<title>Pelle is een prutser<title>
Euhm, nee.
Dat komt namelijk niet door de validator. Ik doe namelijk altijd een <title> en een </title>, en niet 2 keer <title>.

Ik maak dit er wel van:
code:
1
<title>Pelle is een prutser maar drm ook</title>

;)

  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 16:41 schreef drm het volgende:
code:
1
2
3
4
5
      function zetTellerEensAan(welkeDan) {
        nouDeze = welkeDan;
        tellenKreng ( nouDeze );
        huidigeTeller = setInterval('[b]tellenKreng(nouDeze)[/b]',100);
      }
Dit werkte toch niet? althans, ik had het in het begin precies zo staan maar toen werkte het niet!!

zowel: dan had ik dus allang de oplossing :'(

:)

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 16:41

Pelle

🚴‍♂️

Op maandag 19 november 2001 16:46 schreef Mir het volgende:
Dit werkte toch niet? althans, ik had het in het begin precies zo staan maar toen werkte het niet!!

zowel: dan had ik dus allang de oplossing :'(
Dit grijpt even terug op mijn eerdere reply (dat van die dobbelstenen). Blijkbaar kan je met JS geen setTimeout of setInterval aanroepen met als argumenten van de functie hetzelfde als de argumenten van de functie waarin de setTimeout/setInterval wordt aangeroepen.

(snap je het nog? :) )

Verduidelijking:
Dit kan niet
code:
1
2
3
function poep(een,twee) {
  setInterval('klaas(een,twee)',1000);
}

Maar dit wel
code:
1
2
3
4
5
function poep(een,twee) {
  drie = een;
  vier = twee;
  setInterval('klaas(drie,vier)',1000);
}

  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 16:50 schreef Pelle het volgende:

[..]

Dit grijpt even terug op mijn eerdere reply (dat van die dobbelstenen). Blijkbaar kan je met JS geen setTimeout of setInterval aanroepen met als argumenten van de functie hetzelfde als de argumenten van de functie waarin de setTimeout/setInterval wordt aangeroepen.

(snap je het nog? :) )

Verduidelijking:
Dit kan niet
code:
1
2
3
function poep(een,twee) {
  setInterval('klaas(een,twee)',1000);
}

Maar dit wel
code:
1
2
3
4
5
function poep(een,twee) {
  drie = een;
  vier = twee;
  setInterval('klaas(drie,vier)',1000);
}
weetje, als we hier nou eerder achter gekomen waren he (we ? >:) ) dan had mijn middag er heel anders uitgezien :P

Ik ga het zo proberen!

tnx alvast!

  • Mir
  • Registratie: Maart 2001
  • Niet online
Het heeft met de focus te maken van de button!

ik wilde toch al een image gebruiken (maar als voorbeeld gewoon even doorgegaan met die BUTTON) dus misschien dat het dan verholpen is..


keep U posted

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op maandag 19 november 2001 16:50 schreef Pelle het volgende:

Dit kan niet
code:
1
2
3
function poep(een,twee) {
  setInterval('klaas(een,twee)',1000);
}
een en twee zijn lokale variabelen binnen de functie en zijn weer verdwenen na het doorlopen van de functie. Op het moment dat de 1000ms voorbij zijn zal de string voor setInterval pas geinterpreteerd worden en krijg je dus de "not defined" melding aangezien de vars niet meer bestaan.

Een oplossing zou kunnen zijn door niet de reference aan de functie mee te geven maar de waarde van de var:
code:
1
2
3
function poep(een,twee) {
  setInterval('klaas('+een+','+twee+')',1000);
}

Of door gebruik te maken van globale variabelen:
code:
1
2
3
4
var een=1, twee=2;
function poep() {
  setInterval('klaas(een,twee)',1000);
}

En dat doe je eigenlijk ook op het moment dat je (zoals in je andere voorbeeld) deze even in een andere var dumpt. Onderstaande zal bijvoorbeeld weer niet werken (vanwege de lokale vars):
code:
1
2
3
4
5
function poep(een,twee) {
  var drie = een;
  var vier = twee;
  setInterval('klaas(drie,vier)',1000);
}

/disclaimer:
ik hoop dat het een beetje duidelijk is en dat ik niet al te grove fouten heb gemaakt in mijn uitleg ;).

Today's subliminal thought is:


  • Mir
  • Registratie: Maart 2001
  • Niet online
Op maandag 19 november 2001 20:04 schreef Annie het volgende:

[..]
/disclaimer:
ik hoop dat het een beetje duidelijk is en dat ik niet al te grove fouten heb gemaakt in mijn uitleg ;).
Jaja kewl :)

dit is idd duidelijk...snap wat je bedoeld. Logisch eigenlijk :P


[edit]
oja:

ik heb het probleem even naast me neer gelegd.. vond de tijd die erin ging zitten niet relevant als je kijkt wat je ervoor krijgt...voor hobby zou dit leuk zijn om door de ontwikkelen/prutten...maar in de baas z'n tijd vond ik het toch niet zo gepast :)
Pagina: 1