 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
03.04.2005, 21:27
|
#1
|
|
TP-Senior
Registriert seit: Jan 2003
Ort: Frankfurt/M.
|
"Bild des Monats" Skript will nicht so wie ich will :(
Hi zusammen,
ich habe versucht mir (mit/nach Vorlage) was gebastelt, aber irgendwie wird mir nichts angezeigt.
Was das Skript macht, bzw. machen soll:
Jeden 1. eines Monats soll ein anderes Bild auf dieser Seite angezeigt werden.
Keine Ahnung wieso es nicht tut, bin nicht so der JS-Freak.
Freu mich schon auf Eure Tipps/Hilfe.
Code:
<HTML>
<HEAD>
<TITLE>test</TITLE>
<script language="JavaScript">
<!--
pics = new Array('jan.jpg', 'feb.jpg',' mae.jpg', 'apr.jpg',' mai.jpg',' jun.jpg',' jul.jpg',' aug.jpg',' sep.jpg',' okt.jpg',' nov.jpg',' dez.jpg');
var datum = new Date();
var Monat = datum.getMonth();
document.getElementById('BildDesTages').src = pics[Monat];
-->
</script>
</HEAD>
<BODY>
<img src="" id="BildDesTages" alt="bla">
<font face="Arial">
Bild des Monats Skript Test
</font>
<p><font face="Arial">Start: 20.03.2005</font></p>
<p></p>
</BODY>
</HTML>
__________________
"Das Gewissen ist die Stimme der Seele. (J.J. Rousseau)"
|
|
|
03.04.2005, 22:24
|
#2
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
so gehts:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script language="JavaScript">
<!--
pics = new Array('jan.jpg', 'feb.jpg',' mae.jpg', 'apr.jpg',' mai.jpg',' jun.jpg',' jul.jpg',' aug.jpg',' sep.jpg',' okt.jpg',' nov.jpg',' dez.jpg');
var datum = new Date();
var Monat = datum.getMonth();
document.getElementsByName('BildDesTages').src = pics[Monat];
-->
</script>
</head>
<body>
<img src="" name="BildDesTages" alt="bla">
<font face="Arial">
Bild des Monats Skript Test
</font>
<p><font face="Arial">Start: 20.03.2005</font></p>
</body>
</html>
|
|
|
03.04.2005, 23:03
|
#3
|
|
TP-Specialist
Registriert seit: Mar 2005
Ort: Unterfranken
|
getElementById müsste eigentlich funktionieren. getElementByName (nicht getElement sByName  ) auch.
Du versuchst aben die Eigenschaft eines Objektes, das es noch nicht gibt, zu ändern -- daran könnte es liegen.
Wenn ein Skript heruntergeladen wird, wird es in der Regel sofort ausgeführt. Geh den Code Zeile für Zeile durch: wenn du bei getElementById('BildDesTages') gelandet bist, gibt es dieses Objekt doch gar nicht. Der Browser kreiert das Objekt erst dann, wenn er die Zeile mit <img src... erreicht. Der Code soll erst dann ausgeführt werden, wenn sich die ganze Seite heruntergeladen hat.
Zwei Möglichkeiten:
1. Das <script> einfach zum Dokumentende schieben.
2. Die Zeile document.getElementById änderst du so:
Code:
function zeigeBild(bild){
bild.src = pics[Monat]
}
Dem <body>-Tag änderst du so:
HTML-Code:
<body onload="zeigeBild(getElementById('BildDesTages'));">
|
|
|
03.04.2005, 23:44
|
#4
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
|
Nimm aber nicht das ganze Script in die Function!
Wenn Du wie im Code unten noch die zwei Zeilen mit preload einfügst,
wird das Bild auch sofort auf der Seite sichtbar!
HTML-Code:
<HTML>
<HEAD>
<TITLE>test</TITLE>
<script language="JavaScript">
<!--
pics = new Array('jan.jpg', 'feb.jpg',' mae.jpg', 'http://www.verwitwet.de/bilder/sterne/Widder.gif',' mai.jpg',' jun.jpg',' jul.jpg',' aug.jpg',' sep.jpg',' okt.jpg',' nov.jpg',' dez.jpg');
var datum = new Date();
var Monat = datum.getMonth();
preload = new image;
preload.src = pics[Monat];
function Bildanzeigen() {
document.getElementById('BildDesTages').src = pics[Monat];
}
-->
</script>
</HEAD>
<BODY onload="Bildanzeigen()">
<img src="" id="BildDesTages" alt="me ist Widder :-)">
<font face="Arial">
Bild des Monats Skript Test
</font>
<p><font face="Arial">Start: 20.03.2005</font></p>
<p></p>
</BODY>
</HTML>
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
|
|
|
04.04.2005, 00:01
|
#5
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Zitat:
|
getElementById müsste eigentlich funktionieren. getElementByName (nicht getElementsByName ) auch.
|
sorry rewboss, das ist falsch.
Die Methoden heissen:
getElementByID
getElementsByName
weiss auch nicht, warum das s da ist, ist aber so definiert 
|
|
|
04.04.2005, 11:40
|
#6
|
|
TP-Specialist
Registriert seit: Mar 2005
Ort: Unterfranken
|
Zitat:
|
Zitat von St@eff.en
sorry rewboss, das ist falsch.
Die Methoden heissen:
getElementByID
getElementsByName
weiss auch nicht, warum das s da ist, ist aber so definiert 
|
Ah... getElementByName() gibt's woanders...
Aber: mit getElementsByName() kriegst du ein Array, daher das S.
|
|
|
04.04.2005, 13:04
|
#7
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Zitat:
|
Aber: mit getElementsByName() kriegst du ein Array, daher das S.
|
Das hängt davon ab, ob der Name ein Array ist.
Die Rückgabe ist genau die selbe wie bei getElementByID.
Nur einmal ist der Bezug die definierte id und einmal der name.
|
|
|
04.04.2005, 13:46
|
#8
|
|
TP-Specialist
Registriert seit: Mar 2005
Ort: Unterfranken
|
Hmm. Da muss ich noch etwas herumexperimentieren, aber was ich gelesen habe:
Mit getElementById() kriegst du das erste Element, dass das entsprechende ID hat.
Mit getElementsByName() kriegst du eine Collection (scheinbar doch kein richtiges Array) aller Elemente, die den Namen haben. Die einzelnen Elemente sind dann über Object.item() zugänglich.
Unter MSIE gibt es keinen Unterschied zwischen id und name.
getElementsByName()
|
|
|
04.04.2005, 15:11
|
#9
|
|
TP-Specialist
Registriert seit: Nov 2003
Ort: Wien
|
hmm wäre es nichrt einfacher, wenn du einfach ein bild einfügst das nennst du bild_des_monats und dann schiesst du jeden monat ein neues bild unter dem namen rauf und überschreibst es damit?
__________________
deviantart.com
"Das schwächere Geschlecht ist das stärkere wegen der Schwäche des stärkeren für das schwächere." - Greta Garbo
|
|
|
04.04.2005, 18:47
|
#10
|
|
TP-Senior
Registriert seit: Jan 2003
Ort: Frankfurt/M.
|
Hey super! vielen Dank für die ganzen Tipps schon mal! 
Werd ich nachher gleich mal ausprobieren.
Zitat:
|
Zitat von hausmaster
hmm wäre es nichrt einfacher, wenn du einfach ein bild einfügst das nennst du bild_des_monats und dann schiesst du jeden monat ein neues bild unter dem namen rauf und überschreibst es damit?
|
@hausmaster: da ich das auf mehreren Seiten anwenden will, soll es automatisch laufen, von Hand wäre das viel zu viel Arbeit. 
__________________
"Das Gewissen ist die Stimme der Seele. (J.J. Rousseau)"
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 10:47 Uhr.
|
 |