Karl: Auto Popup wenn bedingung erfüllt

Hallo,

ich habe folgenden Quellcode in meiner HTML-Datei:

<script language="JavaScript">
<!--
var Tage="0"; //Variable für die Tage als Textstring
var Stunden="0"; //Variable für die Stunden als Textstring
var Minuten="0"; //Variable für die Minuten als Textstring
var Sekunden="0"; //Variable für die Sekunden als Textstring

function neuesFenster()
{
Ziel = new Date(2003,7,9,10,0,0); //1.1.2004 0.00Uhr
var Final = Ziel.getTime();

function ZeitBerechnen()
{

var jetzt = new Date(); // Aktueller zeitpunkt als Datumsobject
return((Final- jetzt.getTime())/1000); // Zielzeitpunkt(in Millisekunden) minus aktueller Zeitpunkt(in Millisekunden) dividiert durch 1000

var Sekunden = Math.round(ZeitBerechnen()); //enthält die Anzahl der Sekunden bis zum Ziel
var Tage = Math.floor(Sekunden/86400); // ermittelt die Anzahl der Tage bis zum Ziel
rest= Sekunden % 86400; // entält die Restsekunden minus der ermittelten Tage
var Stunden = Math.floor(rest/3600)
//ermittelt die Anzahl der Stunden bis zum Ziel
rest =rest % 3600; //entält die Restsekunden minus der ermittelten Stunden
var Minuten=Math.floor(rest/60); //ermittelt die Anzahl der Minuten bis zum Ziel
rest=rest % 60; //entält die Restsekunden minus der ermittelten Minuten
Sekunden=Math.round(rest);
//alert("Tag :" +Tage);
}
if(Tage.length<12)

MsgWindow=window.open("country.htm",
 "Fenstername", "toolbar=no, width=500, heigth=610, directories=no, status=no, scrollbars=no, resizeable=no, menubar=no");

//-->
</script>

Nun soll es so sein: Wenn die Verbleibenden Tag kleiner oder gleich 10 sind, soll das MsgWindow ausgeführt werden. Ansonsten soll nichts passieren. Das funzt aber so wie ich es oben stehen habe nicht. Kann mir jemand helfen???

Danke

Gruß Karl

  1. Hi,

    <script language="JavaScript">

    ERROR: Required attribute "type" missing.

    var Tage="0"; //Variable für die Tage als Textstring

    Warum als String?

    Ziel = new Date(2003,7,9,10,0,0); //1.1.2004 0.00Uhr

    Warum ohne var?

    function ZeitBerechnen()

    Diese Funktion soll nur innerhalb von neuesFenster() bekannt sein?

    return((Final- jetzt.getTime())/1000); // Zielzeitpunkt(in Millisekunden) minus aktueller Zeitpunkt(in Millisekunden) dividiert durch 1000
    var Sekunden = [...]

    Wozu dient der Code, der nach der definitiven Beendigung der Funktion steht?

    if(Tage.length<12)

    Welche length hat Deiner Ansicht nach die Variable Tage? Und welche nach Ansicht der Browser?

    MsgWindow=window.open("country.htm",
    "Fenstername", "toolbar=no, width=500, heigth=610, directories=no, status=no, scrollbars=no, resizeable=no, menubar=no");

    Wozu dienen die Leerzeichen im dritten Argument?

    Das funzt aber so wie ich es oben stehen habe nicht. Kann mir jemand helfen???

    Wie lautet Deine Fehlerbeschreibung?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    Nun soll es so sein: Wenn die Verbleibenden Tag kleiner oder gleich 10 sind, soll das MsgWindow ausgeführt werden. Ansonsten soll nichts passieren.

    solche Vergleichsgeschichten loest man im allgemeinen durch Umrechnung der Datumsangabe in Millisekunden. Diese Werte koennen dann verglichen werden:

    tage     =  6;
    tageMs   =  1000*60*60*24*tage;

    aktDate  =  new Date();
    aktDate  =  aktDate.getTime();

    // Achtung, monat von 0-11!!!
    testdate =  new Date(2003,7,3);
    testdate =  testdate.getTime();

    diff     =  testdate - aktDate;
    if (diff < tageMs) alert ("weniger");
    else               alert ("mehr");

    Gruesse  Joachim

    1. Hallo Joachim,

      danke für deinen Lösungsvorschlag. Ich werde mal schauen, ob ich damit klar kommen. Bin Anfänger :-)

      Ich melde mich mich wieder, sollte ich noch Probleme haben.

      Gruß Karl