Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Javascript gesucht





Frage

Hallo! Wer kann mir helfen? Mit einem Javascript möchte ich einen Text_1 12 Monate lang vor einem Datum und 12 Monate lang danach einen anderen Text_2 anzeigen und das soll sich jedes Jahr wiederholen. Der Monat an dem der Text wechseln soll ist immer der Juli. Ich bitte um ein vollständiges Script, da ich nur über minimale Javascript-Erfahrungen verfüge. Danke!

Antwort 1 von DaPascha

Hi,

wo kommen den die Texte het? Aus einer Datenbank oder sind sie statisch?

Meinst du es ist wirklich sinnvoll dies über ein Skript zu machen, wenn sie doch so lange angezeigt werden. Ich schätze nicht. Das einfachste wäre, wenn du sie nach einem Jahr per Hand austauchen wirst.

Wenn die Texte aus einer Datenbank kommen wäre PHP wohl sinnvoller...


MfG DaPascha

Antwort 2 von katy

Hallo Juergen,

probier es mal so:
<html><head><title>Test</title>
<script type="text/javascript">
function textanzeige() {
 var datum = new Date();
 var monat = datum.getMonth();
 var text1 = "<p>Dieser Text steht im 1. Halbjahr!</p><p>Wechsel erfolgt im Juli.</p>";
 var text2 = "<p>Dieser Text steht im 2. Halbjahr!</p><p>Wechsel erfolgt erst wieder im Januar.</p>";
 var wohin = document.getElementById("jahrestext");
 if (wohin) wohin.innerHTML = (monat<6)? text1 : text2;
}
window.onload = textanzeige;
</script>
</head>
<body>
<h1>Beispielseite</h1>
<div id="jahrestext">Hier folgt der Jahrestext, wenn JavaScript aktiviert ist.</div>
</body>
</html>


falls du Nachfragen hast, melde dich

katy

Antwort 3 von TByte

Soll ich dir ein serverseitiges Perl-Script schreiben? Egal was, aber serverseitig eignet sich glaub ich besser, weil nicht alle haben Javascript immer aktiv.
mfg
TByte

Antwort 4 von Juergen52

@katy
Super, danke! Wenn es so funktioniert wie ich mir es vorstelle, wäre es die Lösung. Der Text soll nicht im Januar wechsel , sondern mit dem 1. Juli. Weil du schreibst "
Wechsel erfolgt erst wieder im Januar."
Oder sehe ich das falsch.

@TByte
danke, für dein Angebot. PHP kann ich leider auf meinen Account nicht nutzen und Perl dann warscheinlich auch nicht.

Antwort 5 von katy

Hallo Juergen52,

sorry, da hatte ich dich nicht ganz verstanden. So ist es natürlich etwas komplizierter, aber so sollte das funktionieren

<html><head><title>Test</title>
<script type="text/javascript">
function textanzeige() {
 var datum = new Date();
 var ungerade = datum.getYear()%2;
 var monat = datum.getMonth();
 var text = "";
 var wohin = document.getElementById("jahrestext");
 if (wohin) {
  if ((ungerade>0 && monat<6) || (ungerade==0 && monat>5)) text = "<p>Dieser Text steht in ungeraden Jahren im 1. Halbjahr und in geraden im 2ten!</p><p>Wechsel erfolgt im Juli.</p>";
  else text = "<p>Dieser Text steht geraden Jahren im 1. Halbjahr und in ungeraden im 2ten!</p><p>Wechsel erfolgt im Juli.</p>";
  wohin.innerHTML = text;
 }
}
window.onload = textanzeige;
</script>
</head>
<body>
<h1>Beispielseite</h1>
<div id="jahrestext">Hier folgt der Jahrestext, wenn JavaScript aktiviert ist.</div>
</body>
</html>


katy

Antwort 6 von Juergen52

@katy

ich glaube dein Script funktioniert, was sich im laufenden Betreieb sicher noch bestätigen wird.

Hier nun meine Anpassung für den Homepageeinsatz.

<html><head><title>Test</title>
<script type="text/javascript">
function textanzeige() {
 var datum = new Date();
 var ungerade = datum.getYear()%2;
 var monat = datum.getMonth();
 var text = "";
 var wohin = document.getElementById("jahrestext");
 if (wohin) {
  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 = "<span style='color:#FF00FF;'><h3>Auf zum diesjährigen Rosenfest!</h3></span>";
  wohin.innerHTML = text;
 }
}
window.onload = textanzeige;
</script>

<noscript>
<font color="#FF0000"><b>!Bitte aktivieren Sie JavaScript, um die Seite vollst&auml;ndig darzustellen!</b></font><br>
</noscript>
</head>

<body>
<div id="jahrestext" align="center"> </div>
</body>
</html>

Ich möchte nun noch, dass sich das angezeiget Jahr "+Jahr+" automatisch aktualisiert. Das heisst, ist das aktuelle Jahr ungerade soll +1 dazugezählt werden und ist das aktuelle Jahr gerade, soll +2 dazu gezählt und angezeigt werden.

Das wäre mein letzter Wunsch.

MfG, Jürgen

Antwort 7 von katy

Hallo Juergen,

dein noscript-Bereich ist erst mal ganz löblich aber
1. überflüssig (siehe den neuen Code) und
2. völlig verkehrt, nämlich im head-Bereich, eingebaut

<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>


Beachte auch die 2te Zeile (meta ...), die sowas wie &auml; unnötig macht (zumal das im Zusammenhang mit JavaScript nicht funktioniert).
Und im 2ten text darf <span> nicht (niemals!) <h3> enthalten, wie du siehst geht es sowieso auch ohne.

katy

Antwort 8 von Juergen52

@katy

Danke für Deine Unterstützung.
Da hab ich wieder was dazu gelernt. Nun werde ich das Script in meine HP einbauen und testen.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: