Weckfunktion

  • Hallo, Ich möchte mir gerne für meine Homepage eine kleine Weckerfunktion zulegen. Doch leider bin ich Javascript-mäßig nicht so sehr bewandert, dass ich das alleine schaffen würde. Ich weiß nicht einmal, ob es so, wie ich es mir vorstelle (mit Javascript und html) realisierbar ist. Könnt jemand, mit mehr Ahnung, als ich, mal bitte einen Blick drauf werfen und mir mitteilen ob und wenn ja, wie die Problemstellung zu realisieren ist? Falls es nicht zuviel Arbeit macht, vielleicht sogar den (be)richtig(t)en Code dazu geben? Ich wäre euch wirklich sehr dankbar.

    Mit lieben Grüßen, Jirutsu


    - Ich möchte die Funktion Alarm() mit der Übergabe einer Zeit (Stunden,Minuten) aufrufen

    - Diese AlarmZeit soll in eine absolute Zahl (in Minuten wegen der späteren Vergleichbarkeit mit der aktuellen Systemzeit) umgewandelt werden

    - Die SystemZeit (Stunden+Minuten) soll in der gleichen Form als absolute Zahl dargestellt werden

    - Beide Zahlen sollen einmal pro Minute miteinander verglichen werden.

    - Wenn beide Zahlen gleich sind (also die AlarmZeit der SystemZeit entspricht) soll ein Popupfenster geöffnet werden, das als Übergabewert AlarmStunden und AlarmMinuten erhalten soll)

    - Wenn die AlarmZeit kleiner, als die Systemzeit ist (also der Alarmzeitpunkt nach dem öffnen des Popups überschritten wurde) soll die Funktion abbrechen

    - Wenn die AlarmZeit größer, als die Systemzeit ist (der Zeitpunkt also noch nicht erreicht wurde soll die Funktion mit einer Verzögerung von 1 Minute wiederholt werden.

    ---------------------------------------------------------------------------------

    function Alarm(AlarmStunden,AlarmMinuten)

    {

    AlarmZeit = AlarmStunden * 60 + AlarmMinuten;


    function Vergleich(AlarmZeit)

    {

    window.setTimeout(60000);

    Jetzt = new Date();

    Stunden = Jetzt.getHour();

    Minuten = Jetzt.getMinutes();

    SystemZeit = Stunden * 60 + Minuten;

    if AlarmZeit == SystemZeit

    { Popup("AlarmStunden + ':' + AlarmMinuten"; }

    else

    if AlarmZeit < SystemZeit

    { Break }

    else

    Vergleich(AlarmZeit);

    }

    }


    function popup(AlarmStunden,AlarmMinuten) { window.open('Alarm.html','PopupAlarm','width='200',height='100'); }

    ---------------------------------------------------------------------------------

    So ungefähr hab ich mir das vorgestellt. nur funktioniert das leider nicht und mein Javascripisch ist zu leienhaft um Fehler zu erkennen. Ich wäre euch für Hilfe, Ratschläge und Hinweise (was ich wo falsch gemacht habe) wirklich überaus dankbar.

    Mit lieben Grüßen, Jirutsu

  • Hallo Jirutsu,


    Abgesehen davon, dass ich nicht verstehe, was daran eine Weckfunktion sein soll, wenn im Browser etwas ausgegeben wird, habe deinen Code mal ein wenig berichtigt.

    Ich vermute, dass man es besser lösen kann, aber es geht ja um die Fehler.


    Hier ein paar Anmerkungen:


    1. Es muss getHours(); und nicht getHour(); heißen.

    2. Um die condition nach dem if muss in Klammern stehen!
    3.Die Zeile

    { Popup("AlarmStunden + ':' + AlarmMinuten"; }

    verstehe ich nicht. Ich habe noch nie von Popup gehört und die Anführungszeichen sind ebenfalls fragwürdig gesetzt.

    Ich habe das ganze mal durchwindow.alert(AlarmStunden + ':' + AlarmMinuten); ersetzt. Ich hoffe, dass es die Funktion erfüllt, die du beabsichtigst.


    Wie gesagt, habe ich es mal so berichtigt, dass es zumindest funktioniert.


    Viele Grüße


    Justus

  • Hallo Justus

    vielen Dank für deine Mühe.

    Wie ich schon sagte bin ich (was Javascript betrifft) völliger Leie. Aber inzwischen hab ich mich da natürlich "reingekniet" und kann den einen oder anderen Fehler schon selber ausmerzen.

    Mit deiner Hilfe bin ich auch zuversichtlich "mein Problem" jetzt lösen zu können. Aber zu deinen Anmerkungen:

    Weckfunktion deshalb, weil zu einer bestimmten Zeit (die ich in einem Textfeld eingebe) ein Popup-Fenster geöffnet werden soll, in dem eine Musikdatei abgespielt werden, und mich so an den Termin erinnern soll. Sicher gibt es bessere Möglichkeiten, allerdings will ich nur Html und Javascript benutzen. Mit PHP geht das bestimmt einfacher (ist aber nicht möglich, da ich das nicht zur Verfügung habe). Aber ich bin schon fast soweit das zu realisieren und werde deine Anregungen und Berichtigungen mit einfließen lassen. Vielen Dank. Alles weitere werde ich bestimmt alleine schaffen.

    Mit lieben Grüßen, Jirutsu