Counter funktioniert nicht ;/

StrongSoul

Grünschnabel
Guten Tag,

ich habe da ein Problem mit meinem Javascript.
Es handelt sich hierbei um einen simplen Counter, mit einem einfachen Aufruf (.....href="javascript:countdown(50)") gestartet wird. Nach dem er die erste Zahl abgezogen hat, bekomme ich die Meldung -> 'Zeit' ist undefiniert

Hier mal das Script
PHP:
function countdown(Zeit) {
   if(Zeit > 0){
       Zeit--;
       document.getElementById("Anzeige").innerHTML = Zeit;
       setTimeout("countdown(Zeit)", 1000);
   }
}

Kann mir bitte einer Helfen und mir meinen Fehler erklären? Wäre echt Super;)

PS: Ist es möglich in einer Javascript Funktion werte an PHP Variablen zu übergeben und/oder PHP seiten auf zu rufen?

Gruss
Soul
 
Javascript:
if(Zeit > 0){

Sollte wohl eher:

Javascript:
while(Zeit > 0){

sein, oder?
Sonst läuft er es nur einmal durch.
 
Hmm dachte alleine durch das setTimeout("countdown(50) würde es erneut durchlaufen werden.

habs mal mit While ausprobiert und es funktioniert erst recht nciht :/

Die Anzeige zeigt direkt eine 0 an und ich bekomme eine Fehlermeldung -> Zeit' ist undefiniert

Es lag also leider nicht daran :/

Gruss
Soul
 
Hab mal ein wenig gegoogled und andere Threads gesucht und dies hier gefunden:

Javascript:
function Countdown() {
    var number;
    self = this;
        
    this.setTime = function(value) {
      number = value;
    };
        
    this.start = function() {
      countdownfunc();
    };
        
    function countdownfunc() {
      if(number > -1) {
        setTimeout("self.start()", 1000);
        document.getElementById("Anzeige").innerHTML = (number--);
      }
    }
}
window.onload = function() {
    var test = new Countdown();
    test.setTime(10);
    test.start();
};

Falls du es über einen Button starten willst, einfach so machen:

HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese" />
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
  <!--
function Countdown() {
    var number;
    self = this;
        
    this.setTime = function(value) {
      number = value;
    };
        
    this.start = function() {
      countdownfunc();
    };
        
    function countdownfunc() {
      if(number > -1) {
        setTimeout("self.start()", 1000);
        document.getElementById("Anzeige").innerHTML = (number--);
      }
    }
}
function startCount(Zeit) {
    var test = new Countdown();
    test.setTime(Zeit);
    test.start();
}
 //-->
</script>
</head>
<body>

<div id="Anzeige"></div>
<input type="button" onClick="startCount(50)">

</body>
</html>
 

Neue Beiträge

Zurück