online 1
gast (50)

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

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Hans55 vom 22.02.2020, 12:21 Options

JScript-Code gesucht

Hi, alle!

In einer Tabelle mit x-Zeilen, möchte ich in einer oder in mehreren Zeilen, dass sich beim Öffnen der HTML-Seite die Hintergrundfarbe ändert, wenn der aktulle Monat mit dem in der ersten Spalte befindlichen Datum übereinstimmt. Das Datum kann dabei z.B so 02.03. bzw. so 02.03. - 06.03. dargestellt sein.

Wie kann ich das JScript mäßig lösen?

Danke!


Antwort schreiben

Antwort 21 von katy vom 26.02.2020, 11:16 Options

Hallo Hans55,

was für ein Problem besteht mit "Gänsefüßschen" (was sind das eigentlich - sorry, aber ich kenne das Wort gar nicht)?

Aber ich fasse mal den Code aus Antwort 18+19 selbst zusammen:

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>TestTabelle</title>

<script type="text/javascript">
function faerbeTabelle() {
 var aktMonat=(new Date()).getMonth()+1;
 var dieTabelle = document.getElementById("Tabelle");
 if (dieTabelle && dieTabelle.nodeName.toLowerCase()=="table") {
  var zeile = dieTabelle.rows;
  for (var j = 0; j<zeile.length; j++) {
   var zelle = zeile[j].cells;
   var text = zelle[0].firstChild.data;
   var bereich = text.split("-");
   for (var a = 0; a<bereich.length; a++) {
    var daten = bereich[a].split(".");
    if (parseInt(daten[1],10) == aktMonat) zeile[j].className = "aktuell";
    }
  }
 }
}
window.onload = faerbeTabelle;
</script>

<style type="text/css">
body {
color:#000;
background-color:#fff;
}
td.ablinks { 
padding-left:10px;
font-size:8pt;
font-weight:bold;
}
tr.bg {
background-color:#FFF;
}
tr.aktuell {
background-color:red;
}
</style>
</head>


<body>

<table id="Tabelle" align="center" width="590" border="0" cellpadding="0" cellspacing="0" style="border-width:1px 1px; border-style:solid; border-color:#F8E0B0;" summary="Infos">

<tr class="bg">
 <td height="45"  width="130" align="left" class="ablinks">19.01.</td>
 <td align="left" style="font-size:8pt;">Neujahrskonzert, 17 Uhr <font color="#FF0000"></font></td>
</tr>
<tr class="bg">
 <td height="20" align="left" class="ablinks">09.02.</td>
 <td align="left" style="font-size:8pt;">Feuerwehrfasching, 19 Uhr</td>
</tr>
<tr class="bg">
 <td height="24" align="left" class="ablinks">29.0. - 03.02.</td>
 <td align="left" style="font-size:8pt;">Polit-Comedy-Kabarett, 19 Uhr
 </td>
</tr>
<tr class="bg">
 <td height="32" align="left" class="ablinks">21.03. - 23.03.</td>
 <td align="left" style="font-size:8pt;">Osterausstellung, 14 - 18 Uhr</td>
</tr>

</table>
</body>
</html>


Das kopierst du in deinen Editor ohne weitere Änderungen (keine Gänse-, Hühner-, Kuh- oder sonstigen -füßschen) und es läuft!

katy

Antwort 22 von Hans55 vom 26.02.2020, 13:55 Options

Danke!
Jetzt funktioniert es.

Antwort 23 von Hans55 vom 28.02.2020, 09:15 Options

Hier könnt Ihr das Script in Aktion sehen.

Antwort 24 von katy vom 28.02.2020, 17:29 Options

Hallo Hans55,

wie ich sehe sehe ich nichts! Der teufel steckt auch hier im Detail, genauer gesagt in den anderen Scripten, die du lädst. Dort wird window.onload nämlich schon einmal verwendet. Und zweimal geht das nicht.

Eventuell schafft folgendes Abhilfe:

ersetze die Zeile:
window.onload=faerbeTabelle;
durch

function faerbeninit() {
 if (typeof(window.onload)=="function") var owol=window.onload;
 window.onload=function() {
  if (owol) owol();
  faerbeTabelle();
 }
}
faerbeninit();


katy

Antwort 25 von Hans55 vom 08.03.2020, 14:19 Options

@ katy

Ist mir neu, dass man onload aud der Seite nur einmal verwenden darf.
Danke für den Hinweis. Beim IE 5.5 und 6 funktioniert es auch so. Deshalb habe ich davon noch nichts gemerkt. Auch auf andern PCs mit IE ist mir nichts aufgefallen.

Antwort 26 von Hans55 vom 08.03.2020, 14:44 Options

@ katy

Ich habe die Änderung jetzt eingefügt. Bei mir klappt es. Vielleicht kannst du mir noch mitteilen, ob es jetzt bei dir auch funktioniert.
Sicher habe ich auf anderen Seiten auch noch mehr, wie ein onload eingesetzt. Muss ich noch überprüfen.

Antwort 27 von katy vom 08.03.2020, 17:24 Options

Hallo Hans55,

funktioniert!

katy

Antwort 28 von Hans55 vom 08.03.2020, 17:48 Options

Danke!!!!

Du warst mir eine große Hilfe.

Antwort 29 von katy vom 09.03.2020, 11:44 Options

Hallo Hans55,

ich glaube ich sollte auf die Antwort 25 noch mal eingehen:
Zitat:
Ist mir neu, dass man onload aud der Seite nur einmal verwenden darf.
Danke für den Hinweis. Beim IE 5.5 und 6 funktioniert es auch so. Deshalb habe ich davon noch nichts gemerkt. Auch auf andern PCs mit IE ist mir nichts aufgefallen.

Genau genommen kannst du window.onload durchaus mehrfach verwenden. Ausgeführt wird aber immer nur das letzte. Das könnte evtl. deine Beobachtung mit den IEs erklären. Es ist durchaus möglich, dass bei denen die Reihenfolge, in der die internen und externen JavaScript-Teile eingelesen und abgearbeitet werden, anders ist als bei meinem Opera.

katy

Ähnliche Themen

document.createTextNode, html ausgeben
slaps313  04.03.2007 - 128 Hits - 4 Antworten

JScript-Code gesucht!
Jürgen52  04.04.2007 - 88 Hits - 3 Antworten

Eingabefelder Positionieren
Deathfun  09.04.2007 - 122 Hits - 9 Antworten

HTML-Seite als Fenster darstellen?
Jürgen52  19.04.2007 - 99 Hits - 1 Antwort

Was macht regsvr32 jscript.dll?
TByte  28.05.2008 - 231 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026