Ausgabe von einem Satz, unter einer bestimmten bedingung

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von Alex_1, 09.03.2010.

  1. Alex_1

    Alex_1 Erfahrener Benutzer

    Dabei seit:
    24.10.2008
    Beiträge:
    154
    Zustimmungen:
    0
    Ort:
    Marktoberdorf
    Hallo, ich habe hier folgendes script
    Code:
    <script type="text/javascript">
            function birthday() {
            var bb=[
            "8.3","User",];
            var geb=1;
            var kalender=document.getElementById("kalender");
            if (kalender) {
                if (kalender.firstChild) kalender.removeChild(kalender.firstChild);
                var ul=document.createElement("ul");
                kalender.appendChild(ul);
                with (new Date()) {
                    var monat=getMonth();
                    var jahr=getFullYear();
                    var tag=getDate();
                    }
                var d0=Date.UTC(jahr,monat,tag,9,0,0);
                var eintag=86400000;
                var b=monat+"."+tag;
                var j,bi,t,m,d,d1;
                for(j=0; j<bb.length-1; j+=2)
                    {
                    bi=bb[j].split(".");
                    t=bi[0];
                    m=bi[1]-1;
                    d=(Date.UTC(jahr,m,t,9,0,0)-d0)/eintag;
                    d1=(Date.UTC(jahr+1,m,t,9,0,0)-d0)/eintag;
                    if (Math.abs(d)>Math.abs(d1)) d=d1;
                    d1=(Date.UTC(jahr-1,m,t,9,0,0)-d0)/eintag;
                    if (Math.abs(d)>Math.abs(d1)) d=d1;
                    t=Math.abs(d);
                    if (t<=geb)
                        {
                        bi=bb[j+1]+" hat";
                        if (d<-2) bi+='te vor ' + t + ' Tagen Geburtstag';
                        if (d>2) bi+=' in ' + t + ' Tagen Geburtstag';
                        if (d==-2) bi+='te vorgestern Geburtstag';
                        if (d==2) bi+=' Übermorgen Geburtstag';
                        if (d==-1) bi+='te gestern Geburtstag';
                        if (d==1) bi+=' morgen Geburtstag';
                        if (d==0) bi+=' heute Geburtstag, Alles Gute!';
                        var li=document.createElement("li");
                        li.appendChild(document.createTextNode(bi));
                        ul.appendChild(li);
                        }
                    }
                }
            }
        </script>
    Das bewirkt dass 1 Tag vor dem Geburtstag , an dem geburstag und einen tag danach auf den geburstag hingewiesen wird

    also

    User hat morgen Geburstag
    User hat heute Geburstag, Alles Gute!
    User hatte gestern Geburtstag

    wie kann ich das noch einbauen, dass wenn keiner morgen, heut oder gestern geburtstag hatte, dransteht

    Heute hat niemand geburtstag

    ?
    wäre euch sehr dankbar für hilfe

    mfg
    Alex
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. Nico

    Nico Ehemaliges Teammitglied

    Dabei seit:
    28.10.2005
    Beiträge:
    6.675
    Zustimmungen:
    0
    Code:
     if (t<=geb)
                        {
                        bi=bb[j+1]+" hat";
                        if (d<-2) bi+='te vor ' + t + ' Tagen Geburtstag';
                        if (d>2) bi+=' in ' + t + ' Tagen Geburtstag';
                        if (d==-2) bi+='te vorgestern Geburtstag';
                        if (d==2) bi+=' Übermorgen Geburtstag';
                        if (d==-1) bi+='te gestern Geburtstag';
                        if (d==1) bi+=' morgen Geburtstag';
                        if (d==0) bi+=' heute Geburtstag, Alles Gute!';
                        var li=document.createElement("li");
                        li.appendChild(document.createTextNode(bi));
                        ul.appendChild(li);
                        }
    
    einfach danach eine else bedingung.
    Code:
    else {
                        bi='Heute hat niemand Geburtstag.';
                        var li=document.createElement("li");
                        li.appendChild(document.createTextNode(bi));
                        ul.appendChild(li);
    }
    
     
  4. Alex_1

    Alex_1 Erfahrener Benutzer

    Dabei seit:
    24.10.2008
    Beiträge:
    154
    Zustimmungen:
    0
    Ort:
    Marktoberdorf
    das funktioniert, bis auf einen kleinen (großen) bug, es wird für jeden der in der liste steht, einmal angezeigt "Heute hat niemand Geburtstag, also hab ich in meinem fall eine 100 zeilige liste, das ist noch nciht ganz das was ich will, aber trotzdem schon mal danke
     
  5. Nico

    Nico Ehemaliges Teammitglied

    Dabei seit:
    28.10.2005
    Beiträge:
    6.675
    Zustimmungen:
    0
    Da das inner Schleife mit j drinsteht, mach einen noch einen If(j=1) konstrukt drumrum, dann hat sich das ;)
     
  6. #5 Alex_1, 10.03.2010
    Zuletzt bearbeitet: 10.03.2010
    Alex_1

    Alex_1 Erfahrener Benutzer

    Dabei seit:
    24.10.2008
    Beiträge:
    154
    Zustimmungen:
    0
    Ort:
    Marktoberdorf
    ok, danke so funktioniert es
     
  7. #6 Alex_1, 10.03.2010
    Zuletzt bearbeitet: 11.07.2011
    Alex_1

    Alex_1 Erfahrener Benutzer

    Dabei seit:
    24.10.2008
    Beiträge:
    154
    Zustimmungen:
    0
    Ort:
    Marktoberdorf
    hab doch noch einen bug gefunden, weil wenn jemand geburstag hat, wird trotzdem noch dazu angezeigt, dass keiner geburtstag hat

    www.minis-mod.de

    schaut es euch doch mal an
     
  8. Nico

    Nico Ehemaliges Teammitglied

    Dabei seit:
    28.10.2005
    Beiträge:
    6.675
    Zustimmungen:
    0
    Bis zu wieviel Tagen davor / danach wird ein Geburtstag dennn angezeigt? aus den Bedingungen geht das nicht so wirklich hervor, da dort nur d kleiner -2 und größer 2 dransteht, aber nicht wie eng der Rahmen wirklich ist.
     
  9. Alex_1

    Alex_1 Erfahrener Benutzer

    Dabei seit:
    24.10.2008
    Beiträge:
    154
    Zustimmungen:
    0
    Ort:
    Marktoberdorf
    1 tag vorher bis 1 tag nachher
     
  10. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  11. Alex_1

    Alex_1 Erfahrener Benutzer

    Dabei seit:
    24.10.2008
    Beiträge:
    154
    Zustimmungen:
    0
    Ort:
    Marktoberdorf
    kann mier niemand mehr weiterhelfen?
     
  12. Alex_1

    Alex_1 Erfahrener Benutzer

    Dabei seit:
    24.10.2008
    Beiträge:
    154
    Zustimmungen:
    0
    Ort:
    Marktoberdorf
    hat immernoch keiner eine lösung?
     
Thema:

Ausgabe von einem Satz, unter einer bestimmten bedingung

Die Seite wird geladen...

Ausgabe von einem Satz, unter einer bestimmten bedingung - Ähnliche Themen

  1. Nur noch bestimmte Internetseiten gehen...

    Nur noch bestimmte Internetseiten gehen...: Hi Leute, es geht schon wieder los. nach dem sich das Problem letztes mal von selbst erledigt hat geht es jetzt schon wieder los. Facebook,...
  2. Bestimmte Programme können keine Verbindung zum Internet herstellen.

    Bestimmte Programme können keine Verbindung zum Internet herstellen.: Guten Abend Community, ich habe seit einigen Tagen ein Problem mit meinem Internet. Einige Programme können sich nicht dem Internet verbinden,...
  3. Bestimmtes SATA-Kabel?

    Bestimmtes SATA-Kabel?: Hey Leute, Bin das erste Mal in diesem Abteil des Forums und hätte da eine dringende Frage. Habe mir vor kurzem eine 3. Festplatte über 2 TB...
  4. Bestimmte Websiten funktionieren nicht! :-((

    Bestimmte Websiten funktionieren nicht! :-((: Hallo, ich bin sehr auf Eure Hilfe angewiesen und hoffe sehr, dass man mir hier helfen kann. Folgende Situation: Ich bin umgezogen und habe in...
  5. Internet Verbindung über bestimmte Netzwerkkarte

    Internet Verbindung über bestimmte Netzwerkkarte: Hallo zusammen, ich habe im Rechner eine WLAN und eine LAN Schnittstelle. Der Rechner soll via WLAN in das Internet (Telekom Hotspot) und mit...