spin.de · die Community: Diskussions-Forum und Chat - Lern nette Leute kennen!

» Kostenlos anmelden
Sitemap
: if Funktion
ebi2 männlich
Eberhard
21. Nov 2011 17:35

if Funktion

Hallo!
Nur eine kurze Frage!

if (Monat == 12 && Tag >= 1 && Tag <= 23)

Bei dieser if Anweisung möchte ich noch den Monat 11 und die Tage 27 bis 30 beifügen. Das habe ich noch nicht gemacht. Im Internet finde ich nichts. Auch bei selthtml nicht
Gruß Ebi2



Möchtest du mitreden?     Kostenlos Anmelden

21. Nov 2011 17:48

re

auf deutsch bitte nochmal und in welcher sprache das ganze?

hilfe

so aus dem stehgreif if / else :)



ebi2 männlich
Eberhard
21. Nov 2011 17:56

if Funktion

if / else habe ich. Ich brauche nur die Einbindung von Monat 11, und Tage 27 bis 30.



21. Nov 2011 17:59

re

else if (Monat ==11 && Tag>=27 && Tag<=30)


ebi2 männlich
Eberhard
21. Nov 2011 18:15

re:

Hier soll der Code eingefügt werden.


    1 <script type="text/javascript">
    2 Heute = new Date();
    3 Tag = Heute.getDate();
    4 Monat = Heute.getMonth()+1;
    5 if (Monat == 12 && Tag >= 1 && Tag <= 23) {
    6 setTimeout("self.location.href='xxxxx.htm'",0);
    7 }
    8 else
    9 {
   10 setTimeout("self.location.href='yyyyy.htm'",0);
   11 }
   12 </script>


21. Nov 2011 18:17

re

Dann mach das doch. Den entsprechenden Code hast du ja schon bekommen.



ebi2 männlich
Eberhard
21. Nov 2011 18:22

re:

Das verstehe ich nicht. Wo kommt der hin?



21. Nov 2011 19:11

abneigung

Antwort auf re: von ebi2

solche spielerein würde ich mittels php lösen. weil hat man JS im browser aus funktioniert das ganze nicht mehr. und JS kommt immer in den Head breich.



21. Nov 2011 19:33

Re

JS komm möglichst weit nach unten im Allgemeinen damit der Rest der Seite vorher schon da ist.



21. Nov 2011 19:36

Re

Antwort auf if Funktion von ebi2

Soll der Ausdruck dann wahr sein wenn eine der neuen Bedingungen und eine der Alten erfüllt ist oder soll sie sowohl fuer die bisherigen Tage im Monat 12 und ie neuen Tage im Monat 11 ahr sein?



nocysp männlich
aus Karlsruhe (Baden- Württemberg)
21. Nov 2011 20:20

re

Antwort auf re: von ebi2

Lies dir die Hilfen / Tutorials zu Javascript und if / else Konstrukten durch!



ebi2 männlich
Eberhard
21. Nov 2011 20:39

re:

Antwort auf Re von LordAragorn

Monat 12 und 11 wahr



M_Bolero männlich
Werner
21. Nov 2011 21:08

Verständnisfrage

> Monat 12 und 11 wahr

Was meinst du mit Monat 12 und 11 wahr?

Monat 12 UND Monat 11 als eine Bedingung kann doch nicht wahr werden!
Entweder es ist der Monat Dezember ODER es ist der Monat November. Beide gleichzeitig wird es nie geben.
Dementsprechend gibt es eine Bedingung für den Monat 12 und eine Bedingung für den Monat 11.
Mit "if" hast du ja schon eine Bedingung festgelegt. Ist diese wahr, dann wird die von dir gewollte Anweisung ausgeführt.
Jede weitere Bedingung, z.B. für den Monat Nov. legst du mit "if else" fest und wird eine dieser neuen Bedingungen wahr, so wird die Anweisung ausgeführt, die du für diese weitere Bedingung festgelegt hast.
Wenn keine der mit "if" ODER "else if" festgelegten Bedingungen wahr ist, dann wird die Anweisung ausgeführt, die mit "else" festgelegt wird.

Oder meinst du, dass die gleiche Anweisung ausgeführt wird, wenn der Zeitraum im Dezember ODER der Zeitraum im November wahr wird?



21. Nov 2011 21:55

re

Antwort auf re: von ebi2

Das gehört nun wirklich zu den einfachsten Grundübungen der Programmierung. Größer, kleiner, gleich, und, oder, nicht - dazu braucht man nicht mal programmieren zu können, um das zu verstehen.
Ich bekomme wirklich langsam den Eindruck, daß Du einfach zu faul bist, programmieren zu lernen, und daß Du Dir Deine Wünsche lieber von Dummen erfüllen läßt, die nicht dumm genug sind, um Programmierung zu verstehen. Wie wäre es denn mal mit eigener Initiative? Mal selbst Dokumentationen durchlesen und Experimente anstellen. Wenn etwas dann nicht funktioniert wie erwartet, kannst Du immer noch den fehlerhaften Code reinstellen und um Hinweise bitten, wo der Fehler liegt. Danach solltest Du aber auch selbst in der Lage sein, die Fehler mit logischem Denken zu beheben. Du fragst aber immer nur nach Fertiglösungen zum einfachen Kopieren. Selbst wenn Dir schon die Lösung genannt wird, willst Du sie noch fertig in den Code eingefügt haben.
Also ich steige aus.



21. Nov 2011 22:07

Codereihenfolge

Antwort auf Re von LordAragorn

> JS komm möglichst weit nach unten im Allgemeinen damit der
> Rest der Seite vorher schon da ist.

Sehe ich anders. Ich bevorzuge semantische Dokumente und stelle den JS-Code in den Head-Bereich, eher aber extern und nehme ein paar Millisekunden Latenzzeit für die zusätzliche HTTP-Anfrage inkauf. Für die Performance beim asynchronen Laden hat sich ext. JS nach ext. CSS bewährt.
Der initiale Aufruf erfolgt dann mittels eines Ereignisses wie onLoad oder ggf. ein selbst1 erstelltes onDomReady.



ebi2 männlich
Eberhard
21. Nov 2011 22:42

re:

Antwort auf Verständnisfrage von M_Bolero

Yeeeeesssss



MichaelK
User wurde
21. Nov 2011 22:58

PHP und Co

Antwort auf abneigung von kind*der*nacht

> solche spielerein würde ich mittels php lösen.

Das kommt in meiner Bewertung in die Nähe von "Das würde ich mit VisualBasic lösen". ;-)

Aber mal ernsthaft: Der Threadersteller ist schon mit Plain-HTML überfordert. Javascript ist total Land unter und nur noch mit Copy&Paste und einer großen Portion Glück und Forumshilfe zu bewältigen. Wenn Du jetzt noch PHP (oder dergleichen) einführen willst, dann kommt das Homepageprojekt vollends zum erliegen.

An jeder der sich angesprochen fühlt: Ist jetzt nicht böse gemeint, sondern eine, wie ich glaube, realistische Einschätzung der Lage.

Gruß
MichaelK



21. Nov 2011 23:16

Kurzanleitung

Antwort auf re: von ebi2

Ok, ich bin mal nett1.

Verwende geklammerte Ausdrücke, dann brauchst Du Dich nicht um Prioritäten zu scheren, sprich: was zuerst ausgewertet wird.
Operatoren:
! nicht
== gleich
!= nicht gleich
> gößer
>= größer/gleich
< kleiner
<= kleiner/gleich
&& und
|| oder

Monat soll min. 11 sein:
(monat größer/gleich 11)
Tag soll zwischen 1 und 23 oder zwischen 27 und 30 sein:
((tag größer/gleich 1 und tag kleiner/gleich 23) oder (tag größer/gleich 27 und tag kleiner/gleich 30))

(Das mit dem größer/gleich 1 stammt von Dir, ist aber überflüssig, da immer wahr. getDate() liefert Monatstage beginnend bei 1 zurück.)

ganz logisch! Das nur noch verknüpfen.
Alternativ könntest Du auch Bedingungen mit nicht formulieren, z.B. nicht zwischen 24 und 26 und nicht 31.

Was fürn Zweck soll das überhaupt am Ende haben?



22. Nov 2011 07:34

alternativer Lösungsansatz

Antwort auf re: von ebi2

Wenn man Deine Anfragen verfolgt, kommt einem unweigerlich der Gedanke, dass Du in erster Instanz nur fertige Lösungen für Deine programmiertechnischen Probleme suchst. Finde ich ganz ehrlich nicht so doll.

Daher soll das Folgende nicht Dir gelten, sondern zur allg. Diskussion beitragen.

Hier an anderer Lösungsansatz für Leute, die etwas Probleme mit IF haben, oder es sich teilweise einfacher machen möchten. Es ist immer interessant, wie unterschiedlich man Aufgaben lösen kann ;-)


    1 <body>
    2 <script language="javascript">
    3 // Man baue eine Methode die ein Array nach einem gewissen Inhalt (Parameter
    4                                                                    searchVal
    5                                                                    ) 
    6                                                                    durchsuch
    7                                                                    t
    8 // und dann TRUE / FALSE zurückliefert wenn gefunden / nicht gefunden.
    9 Array.prototype.inArray = function(searchVal)
   10 {
   11   var retval = false;
   12 
   13   for(var i = 0; i < this.length; i++)
   14   {
   15     if(this[i] === searchVal)
   16     {
   17       retval = true;
   18     }
   19   }
   20 
   21   return (retval);
   22 }
   23 
   24   var monate  = [11, 12];
   25   var tage    = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 23, 24, 25, 26];
   26 
   27   aktuellesDatum  = new Date();
   28   aktuellerTag    = aktuellesDatum.getDate();
   29   aktuellerMonat  = aktuellesDatum.getMonth() + 1;
   30 
   31  // Und hier kommt die Methode inArray zum Einsatz 
   32   if(monate.inArray(aktuellerMonat) && tage.inArray(aktuellerTag))
   33   {
   34      alert("Das aktuelle Datum findet sich im Gueltigkeitsbereich");
   35   }
   36   else
   37   {
   38      alert("Hier passiert nichts");
   39   }
   40 </script>
   41 </body>


22. Nov 2011 10:50

re

Trotzdem moeglichst weit unten. Zuerst sollte CSS und Biler geladen werden, danach das JS.

JS Code im Head oder am Ende des Body hat ja nix mit anders semantischen Dokumenten zu tun. Das ist einfach nur Best Practice.



Möchtest du mitreden?     Kostenlos Anmelden