1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Timer in Javascript

    • Frage
  • Fatjoe
  • 16. Dezember 2007 um 17:00
  • Unerledigt
  • Fatjoe
    2
    Fatjoe
    Mitglied
    Punkte
    35
    Beiträge
    5
    • 16. Dezember 2007 um 17:00
    • #1

    Hy, also ich hab mich schon im Internet umgesehen usw und habe aber nur lange und unverstädnliche source codes für einen timer als java script gesehen...

    Was der Timer zun soll:

    Ich bekomme mit php eine Zeit in Sekunden übergeben und möchte es so angezeigt bekommen "HH:MM:SS" und er soll pro sekunde runterzählen. Wenn die Zeit aus ist soll er "Aktion durchgeführt" anzeigen statt der Zeit.

    Ich hoffe ihr könnt mir Tipps geben wie ich das am besten machen kann oder mir ein paar beispiele zeigen die auf das ähnliche hinaus kommen.

    mfg Fatjoe

  • bosie
    13
    bosie
    Mitglied
    Reaktionen
    7
    Punkte
    1.767
    Beiträge
    325
    • 16. Dezember 2007 um 19:15
    • #2

    koenntest ja sowas wie setTimeout("runterzaehlen()",1000) verwenden... aber kA wie genau das dann wirklich ist

  • Fatjoe
    2
    Fatjoe
    Mitglied
    Punkte
    35
    Beiträge
    5
    • 16. Dezember 2007 um 19:41
    • #3

    das problem ist das ich mich nicht sonderlich viel bis gar nicht mit javascripts auskenne :thinking_face: brauch auf meiner seite nur dieses eine script

  • Martinez
    7
    Martinez
    Mitglied
    Punkte
    465
    Beiträge
    81
    • 16. Dezember 2007 um 21:48
    • #4

    rechnest dir halt die studen, minuten und sekunden aus. dann definierst im html code ein input field. in das gibst dann eben mit setTimeout() alle sekunden den wert aus, bzw. nach ablauf der zeit den string "Aktion durchgeführt".

    computer says nooooohhhh!

  • MaxAuthority
    17
    MaxAuthority
    Gewinner des Desktop-Contest 2002
    Reaktionen
    5
    Punkte
    3.165
    Beiträge
    626
    • 17. Dezember 2007 um 00:23
    • #5
    Zitat von bosie

    koenntest ja sowas wie setTimeout("runterzaehlen()",1000) verwenden... aber kA wie genau das dann wirklich ist

    Das ist uebrigens schlechter stil, man sollte eher setTimeout(function() { runterzaehlen(); }, 1000), oder in dem fall sogar setTimeout(runterzaehlen, 1000) verwenden, weil dann nicht extra die funktion zur laufzeit "kompiliert" werden muss.

    http://vimperator.org - Make Firefox behave like Vim

  • Martinez
    7
    Martinez
    Mitglied
    Punkte
    465
    Beiträge
    81
    • 17. Dezember 2007 um 02:55
    • #6

    hab da mal ne uhr für ne webpage gebraucht, kannst dir ja mal überlegen wie du einen downcounter daraus basteln kannst.

    Code
    var inputElement; // html element for displaying the time
    
    
    // class definition for the clock
    function Clock() {
    	this.timerID = null; // handler for setTimeout function
    	this.timerRunning = false; // is the timer running?
    	this.stopClock = stopClock; // stops the clock
    	this.showTime = showTime; // displays the time
    	this.startClock = startClock; // starts the clock
    }	
    
    
    // stops the clock if the timer is running
    function stopClock () {
    	if(this.timerRunning)
    		clearTimeout(this.timerID);
    	this.timerRunning = false;
    }
    
    
    // displays the time in the html input field
    function showTime () {
    	this.now = new Date(); // catches the actual date
    	this.hours = this.now.getHours(); // takes the hours out of date
    	this.minutes = this.now.getMinutes(); // takes the minutes out of date
    	this.seconds = this.now.getSeconds(); // takes the seconds out of date
    	this.time = ((this.hours < 10) ? "0" + this.hours : this.hours); // sets the hours
    	this.time += ((this.minutes < 10) ? ":0" : ":") + this.minutes; // sets the minutes
    	this.time += ((this.seconds < 10) ? ":0" : ":") + this.seconds;	// sets the seconds
    	inputElement.value = this.time; // sets the time in the input field
    	this.timerID = setTimeout(showTime,1000); // calls showTime in 1 second
    	this.timerRunning = true; // sets timerRunning to true
    }
    
    
    // starts the clock
    function startClock() {
    	this.stopClock(); // stop it before
    	this.showTime(); // calls showTime
    }
    
    
    // initalisation of the clock, could be called at the onload
    // parameter in the body tag of the html site with the input field
    // @param _inputID: the id of the input field
    function initClock(_inputID) {
    	var clock = new Clock(); // creats an instance of the clock
    	inputElement = document.getElementById(_inputID); // gets the html element with _inputID
    	clock.startClock();	// starts the clock
    }
    Alles anzeigen

    computer says nooooohhhh!

  • DonRicardo
    3
    DonRicardo
    Mitglied
    Punkte
    50
    Beiträge
    8
    • 17. Dezember 2007 um 15:45
    • #7
    Zitat von bosie

    koenntest ja sowas wie setTimeout("runterzaehlen()",1000) verwenden... aber kA wie genau das dann wirklich ist


    mit
    var handle = window.setInterval("runterzaehlen()",1000)
    tut man sich noch leichter. wenn der zähler bei null is kann man mit window.clearInterval(handle); das ganze wieder stoppen

  • Fatjoe
    2
    Fatjoe
    Mitglied
    Punkte
    35
    Beiträge
    5
    • 17. Dezember 2007 um 17:49
    • #8

    Danke für die vielen Antworten, ich werde mich mal mit dem Source code auseinandersetzen den Martinez hier geschrieben hat.

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 2 Besucher

Rechtliches

Impressum

Datenschutzerklärung