1.7k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,

Meine Frage bezieht sich auf diesen www.supportnet.de/threads/2123127 Thread mit diesen JScript:

<html><head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Test</title>
<script type="text/javascript">
function textanzeige() {
var datum = new Date();
var jahr = datum.getFullYear();
var ungerade = jahr%2;
var monat = datum.getMonth();
var text = "";
var wohin = document.getElementById("jahrestext");
if (wohin) {
jahr += (ungerade>0)? 1 : 2;
if ((ungerade>0 && monat<6) || (ungerade==0 && monat>5)) text = "<h3>Das nächste Rosenfest findet im Jahr <span style='color:#FF00FF;'>" + jahr + "</span> statt.</h3>";
else text = "<h3 style='color:#FF00FF;'>Auf zum diesjährigen Rosenfest!</h3>";
wohin.innerHTML = text;
}
}
window.onload = textanzeige;
</script>
</head>

<body>
<div id="jahrestext" align="center"><b>!Bitte aktivieren Sie JavaScript, um die Seite vollständig darzustellen!</b></div>
</body>
</html>

Die Textausgabe soll jetzt an geraden Jahren ausgegeben werden. Was muss dafür im Script geändert werden?

Danke!

8 Antworten

0 Punkte
Beantwortet von
Bitte erkläre etwas genauer, was sich ändern soll: Findet das Rosenfest jetzt in ungeraden Jahren statt? Oder soll nur noch in geraden Jahren überhaupt etwas ausgegeben werden?
0 Punkte
Beantwortet von
Es soll der gleiche Text, wie im Beispiel, aber nur in geraden Jahren 2014, 2016 usw. ausgegeben werden. Auch mit der gleichen else-Funktion. Wo der Text dann in den ungeraden Jahren 2015, 2017 usw. ausgegeben wird.
0 Punkte
Beantwortet von
Nein, das Rosenfest findet jetzt in geraden Jahren statt?
0 Punkte
Beantwortet von
bitte definiere wirklich genau, was wann angezeigt werden soll (in welchem Jahr und Monat welcher Text), ansonsten ist das zu sehr Rumraten, was du meinst.
0 Punkte
Beantwortet von
Das Rosenfest findet jetzt nicht mehr in den ungeraden Jahren, wie in dem Beispiel Script, sondern in den geraden Jahren, alle 2 Jahre statt.
Was angepasst werden müsste ist:

var ungerade = jahr%2;
jahr += (ungerade>0)? 1 : 2;
if ((ungerade>0 && monat<6) || (ungerade==0 && monat>5))


Ungerade soll gerade werden!
Alles andere im Script soll so bleiben.
0 Punkte
Beantwortet von
probiers mit

var ungerade = (jahr+1)%2;


falls das dein Problem nicht löst, bräuchte ich wirklich genau die angefragten Infos, um irgendwelche Hilfestellung geben zu können.
0 Punkte
Beantwortet von
Danke!
Werde es mal testen.
0 Punkte
Beantwortet von
Es funktioniert nicht so, wie es sein sollte. Es zeigt jetzt 2015 an. Müsste aber 2014 anzeigen.

var ungerade = jahr%2;

...in dieser Zeile soll das gerade Jahr var gerade = jahr....; zur Weiterverarbeitung ausgegeben werden.

jahr += (gerade>0)? 1 : ...;
if ((gerade>0 && monat<6) || (gerade==0 && monat>5))

Ich weiß nicht, wie ich es noch erklären soll.
...