Toon posts:

[JS] functie mag maar 1x

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een javascriptfunctie en die functie mag maar 1x geladen worden. Hiervoor had ik bedacht dat ik een variabele op true zet zodra hij een keer geladen is:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script language='javascript'>
function tel(){
        if(tel == false){
                aftellen();
        }
        var tel = true;
}

function aftellen(){
        if(document.form1.tijd.value == "0"){

                document.getElementById("picture").style.visibility='visible';
        }
        else{
                document.form1.tijd.value = document.form1.tijd.value - 1;
                setTimeout("aftellen()", 1000);
        }
}

</script>

<a onMouseOver='tel()' href='#'>


De functie aftellen() is verder wel goed, maar hij word in deze situatie niet geladen via de functie tel(). Dit werkt dus niet.. heeft iemand nog ideeën?

Verwijderd

de variabele tel is niet gedefinieerd en staat niet default op false.

code:
1
2
3
4
5
6
7
8
9
<script language='javascript'>
var tel = false;
function tel(){
        if(tel == false){
                aftellen();
        }
        var tel = true;
}
...


/me rent terug naar de kerstboom en gaat weer liedjes zingen

zou jij ook moeten doen 8)7

  • bartware
  • Registratie: Juni 2001
  • Laatst online: 25-03-2023

bartware

@jabber.org

En dan tel niet opnieuw declareren, anders werkt het nog niet:
JavaScript:
1
2
3
4
5
6
7
8
<script type="text/javascript">
var magtellen = true;
function tel(){
        if(magtellen == true){
                aftellen();
        }
        magtellen = false;
}...
En ipv language='javascript' is het beter om type="text/javascript" te gebruiken.
Bij mij gaf het een probleem dat de variabele ook tel heet, dus heb ik hem magtellen genoemd.

[ Voor 7% gewijzigd door bartware op 25-12-2004 11:01 ]

Heb ik me begrepen?
Cycle Vision 2020: 17-20 juli Sportpark Sloten & Wheelerplanet Spaarnwoude


  • Bartjuh
  • Registratie: Oktober 2001
  • Niet online

Bartjuh

Hej

Zo kan het ook, wat makkelijker ;)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script language='javascript'>
var allowTel = true;

function aftellen(){
        if(!allowTel) return;
        if(document.form1.tijd.value == "0"){

                document.getElementById("picture").style.visibility='visible';
        }
        else{
                document.form1.tijd.value = document.form1.tijd.value - 1;
                setTimeout("aftellen()", 1000);
        }
        allowTel = false;
}

</script>

<a onMouseOver='aftellen()' href='#'>

[ Voor 39% gewijzigd door Bartjuh op 25-12-2004 11:08 . Reden: return ipv break, duh :P ]


Verwijderd

Topicstarter
Bartjuh schreef op zaterdag 25 december 2004 @ 11:07:
Zo kan het ook, wat makkelijker ;)
....
Zo werkt het aftellen niet meer, want bij de setTimeout laad hij aftellen() nog eens en daar stopt hij al...
bartware schreef op zaterdag 25 december 2004 @ 11:00:En ipv language='javascript' is het beter om type="text/javascript" te gebruiken.
Bij mij gaf het een probleem dat de variabele ook tel heet, dus heb ik hem magtellen genoemd.
Tnx... dit werkt wel :D

[ Voor 38% gewijzigd door Verwijderd op 25-12-2004 14:00 ]