Archivlink: javarea.de Forum > JavaScript > Script - Suche für fetten Text auf Zeit!
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Script - Suche für fetten Text auf Zeit!
Pages: [1]
| geschrieben von Floeff am 05.03.2006 - 12:14 |
Hey Leute!
Kann mir jemand helfen; ich suche ein Java-Script, mit dem man einen Text fett hat bis zu einem bestimmten Datum. Ab da soll er dann nicht mehr fett sein. So was müsste es doch eigentlich geben, oder?
Bitte um schnelle Hilfe!!
mfg |
| geschrieben von Micha am 05.03.2006 - 12:59 |
Hi, ja das geht!
In JavaScript steht Dir dafür die date() Methode zur Verfügung. Diese liefert Dir zB den aktuellen Tag:
| HTML-Quelltext | 1:
2:
3:
4:
5:
| <script type="text/javascript">
var jetzt = new Date();
var Tag = jetzt.getDate();
window.alert("Heute ist der "+Tag);
</script> |
Analog gehts auch mit Monaten usw.
Um Nun einen Text zu formatieren, kannst Du mit JavaScript auf dessen Style zugreifen bzw. einen neuen definieren.
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
| <p id="text">Mein Text</p>
<script type="text/javascript">
var jetzt = new Date();
var Tag = jetzt.getDate();
if (Tag <= 4){
document.getElementById("text").style.fontWeight = "bold";
}
</script> |
Mit Hilfe von If kannst Du steuern, wann wie was passieren soll. Im oben gezeigten wird also der Text Fett, wenn der Tag kleiner 4 ist. Somit wird er ab heute normal dargestellt.
Micha |
| geschrieben von weisnix am 05.03.2006 - 14:06 |
Fast alles richtig, wenn man da überhaupt von was falschen reden kann.
Die Abfrage anders gestalten.
var jetzt = new Date(); mit den Daten bis wann das “ bold ” angezeigt werden soll.
(2006, 2, 5, 17, 45, 0); //Jahr, Monat (Januar =0), Tag, Stunden, Minuten, Sekunden
var Tag = new Date(); hier wird das aktuelle automatisch genommen.
if (jetzt.getTime() > Tag.getTime())
so kann die Anzeige Sekunden genau eingestellt werden.
Im anderen Beispiel erscheint der Text jeden Monat zwischen dem 1. und 4. als fett.
|
| geschrieben von zippy am 05.03.2006 - 14:23 |
Habs jetzt probiert, und es funzt irgendwie, aber wirft gleich noch ne Frage auf...
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
| <html><head><title>test</title>
<script type="text/javascript">
function fett(fettjahr,fettmonat,fetttag,fettdiv){
var datum = new Date();
var jahr = datum.getYear();
var monat = datum.getMonth()+1;
var tag = datum.getDate();
if (jahr>fettjahr){
document.getElementById(fettdiv).style.fontWeight="normal";
return;
}
if (jahr>=fettjahr && monat>fettmonat){
document.getElementById(fettdiv).style.fontWeight="normal";
return;
}
if (jahr>=fettjahr && monat>=fettmonat && tag>=fetttag){
document.getElementById(fettdiv).style.fontWeight="normal";
return;
}
document.getElementById(fettdiv).style.fontWeight="bold";
}
</script>
</head><body onLoad="fett(2006,3,7,'fett1')">
<div id="fett1" >Testtext</div></body> |
Ich will das script aber nicht mit "onLoad" aufrufen, sondern aus jedem DIV extra, mit eigenen Werten. Sollen ja mehrere Zeilen dortstehen, mit verschiedenen Verfallsdaten.
Mit "onMouseOver" gehts leicht, aber es soll ja sofort gestyled werden, und "onLoad" geht in den DIV-Tags nicht. |
| geschrieben von zippy am 05.03.2006 - 14:27 |
Ups, Kathrin, jetzt war das Fenster so lang offen, dass ich deinen Beitrag verschlafen hab. Natürlich gehts so schneller, gleich in einem sozusagen.

Wie ich aber verschiedene Divs mit verschiedenen Parametern das Script aufrufen lassen kann, und zwar gleich beim Laden, interessiert mich weiterhin. |
| geschrieben von Micha am 05.03.2006 - 14:29 |
| Zitat | | | Original geschrieben von Floeff am 05.03.2006 - 12:14
Ab da soll er dann nicht mehr fett sein.
|
Hi,
ich kann so keinen fehler finden. Ich beziehe mich auf die dürftigen Aussagen des OP's; der viel Spielraum für Variationen lässt.
@zippy: dann verwende keine Funktion und/oder schreib das JS ans Ende des Dokumentes...
Liebe Grüße Micha
|
| geschrieben von zippy am 05.03.2006 - 14:55 |
Ohne es in eine Funktion zu verpacken, ging es gar nicht, und außerdem will ich die Funktion, um aus verschiedenen Divs verschiedene Verfallsdaten an die Funktion weitergeben zu können.
Das gaht zwar, aber nur mit mouseover und so. Gibts gar keine Möglichkeit, etwas wie "onLoad" auch aus Divs zu starten? Hab keinen passenden Eventhandler gefunden. |
| geschrieben von weisnix am 05.03.2006 - 15:42 |
@ derletztekick
genau, ab dann soll er nicht mehr .... Deiner erscheint aber jeden Monat wieder in fett.
Deshalb ist es immer noch kein Fehler, wie ich schon erwähnte „Fast ....
@ zippy
das geht wie @ derletztekick schon geschrieben hat ohne onload.
Und natürlich mit mehreren Texten.
|
| geschrieben von Micha am 05.03.2006 - 16:25 |
Hallo Kathi,
es sollte nur ein Beispiel sein, den Rest sollte er selbst machen. Aber ja, Deine Lösung ist für das genaue Datum eine schöne Lösung - um nicht zusagen _die_ Lösung.
Liebe Grüße
|
| geschrieben von Floeff am 07.03.2006 - 15:09 |
Hey!
Viele vielen Dank erstmal bis hierher... Aber das Problem ist eben wirklich, dass ich das Datum für bestimmte Textabschnitte seperat angeben will. Es geht um folgendes: Wir haben eine Band-Seite und die AUftrittstermine sollen solange fett erscheinen, bis er Auftritt vorbei ist.
Leider bin ich in Java Script (noch) nicht so firm, dass ich eure Vorlage einfach umwandeln kann, sodass es für mehre Daten geht. Deswegen wäre es toll, wenn ihr mir nochmal helfen könntet :-)
mfg
Flo |
| geschrieben von Micha am 07.03.2006 - 17:10 |
|
|