Hallo ihr Wissenden,
ich suche nach einen JS, das zu bestimmten Daten am geschicktesten gewisse Frames austauscht, aber zumindest Bilder.
Vielen Dank in Voraus.
Matthias
Hallo ihr Wissenden,
ich suche nach einen JS, das zu bestimmten Daten am geschicktesten gewisse Frames austauscht, aber zumindest Bilder.
Vielen Dank in Voraus.
Matthias
Hallo ihr Wissenden,
ich suche nach einen JS, das zu bestimmten Daten am
geschicktesten gewisse Frames austauscht, aber zumindest
Bilder.
Bitte genauer.
Stefan
Nachdem ich wohl etwas zu wage war:
Ich bräuchte ein JS, das bewirkt, dass zu einem bestimmten Datum ein einzelner Frame in einem Frameset gegen einen anderen ausgetauscht wird.
Wenn dies aber zu kompliziert ist sollte zumindest ein Bild ausgetauscht werden.
Gruß Matthias
Versuchs mal hiermit:
<!–
// zeitFrames hält die Zuordnung, zeitlich aufsteigend sortiert.
// Ami Format !
zeitFrames=[
[‚12-22-2003‘,‚frame2.html‘]
,[‚12-23-2003‘,‚frame3.html‘]
,[‚12-24-2003‘,‚frame4.html‘]
]
// defaultFrame ist der Frame der zeitlich vor allen anderen gezeigt wird
// also wenn das erste Datum noch nicht erreicht ist
function zeitFrame(defaultFrame)
{
var heute= (new Date).getTime()
for(x in zeitFrames)
{
if((new Date(zeitFrames[x][0])).getTime()<heute)
{
defaultFrame=zeitFrames[x][1];
}
else
{
return defaultFrame
}
}
return defaultFrame
}
function setFrame()
{
frames.frame1.location.href=zeitFrame(‚frame1.html‘);
}
//–>
Grüße
Stefan
Vielen Dank für das Skript,
leider bin ich einer derjenigen, die so gut wie keine Ahnung von JS haben und ich bräuchte einen ausführlicheren Kommentar.
Viele Dank in Voraus
Matthias Güthler
Versuchs mal hiermit:
Das ganze sollte sich in einer index.html o.ä. Datei befinden, also
in der Datei die das Frameset (Achtung: Framesets und BODY gehen nicht zusammen!) hält.
Und auf gehts; Das Skript beginnt.
<!–
// zeitFrames hält die Zuordnung, zeitlich aufsteigend
sortiert.
// Ami Format !
Jetzt folgt ein JS Array in der sog. Literalschreibweise.
Es wird eine Variable angelegt die ein Array halten soll, dies geschieht mit den eckigen Klammern. Die erste schafft also ein Array (Feld) in dem ich weitere Felder platziere, ich habe also soetwas wie einen ‚Baum‘ erschaffen. In meinem Ersten Feld lege ich also noch Felder an die meine Daten über die Zuordnung von Datum und gewünschtem Frame enthalten.
zeitFrames=[
jetzt kommt der erste Eintrag in meinem Feld. Kein Komma davor, es ist ja der erste.
[‚12-22-2003‘,‚frame2.html‘]
jetzt kommt der zweite Eintrag in meinem Feld. Ein Komma davor, es ist ja der nächste.
,[‚12-23-2003‘,‚frame3.html‘]
usw.
,[‚12-24-2003‘,‚frame4.html‘]
Mein Datenarray ist fertig, ich schliesse es mit ‚]‘
]
// defaultFrame ist der Frame der zeitlich vor allen anderen
gezeigt wird
// also wenn das erste Datum noch nicht erreicht ist
Nu’ kommt 'ne Funktion: Funktionen dienen nur dazu immer wiederkehrende Aufgaben zusammenzufassen. Diese Funktion soll einfach den momentan (vom Datum abhängig) gültigen Frame-Datei-Namen zurückgeben. Als Hilfe wird der Funktion noch der Dateiname mit übergeben der angezeigt wird, wenn noch kein Datum aus dem Datenarray erreicht wurde. Wie das genau funktioniert kann dir erstmal egal sein…
function zeitFrame(defaultFrame)
{
var heute= (new Date).getTime()
for(x in zeitFrames)
{
if((new Date(zeitFrames[x][0])).getTime()<heute)
{
defaultFrame=zeitFrames[x][1];
}
else
{
return defaultFrame
}
}
return defaultFrame
}
So diese Funktion ist nur dafür zustandig den Frame-Datei-Namen aus dem Daten-Array zu holen und in das Frameset zu schreiben und somit die entsprechende Datei im Browser anzuzeigen.
function setFrame()
{
Anstatt ‚frame1.html‘ kannst du die entsprechende standard datei deines Webprojekts eintragen, also die Datei die angezeigt werden soll, wenn kein Datum aus dem Daten-Array erreicht ist.
‚frame1‘ solltest du gegen den Namen eintauschen den der Frame in deinem Frameset hat.
frames.frame1.location.href=zeitFrame(‚frame1.html‘);
}
//–>
Jetzt kommt ein stinknormales Frameset, du mußt nur das
onLoad=„setFrame()“ einsetzen um die Datumsfunktionalität zu ‚aktivieren‘.
Der folgende Frame wird in meinem Beispiel benutzt, es kann jeder andere Frame in einem auch vollig anders gebautem Frameset sein, hauptsache du benutzt in der Funktion ‚setFrame‘ den gleichen Namen.
Ich hoffe du kannst jetzt was damit anfangen…
Stefan
Die Antwort liegt eine Ebene tiefer, hoffe weitergeholfen zu haben…
Stefan
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Danke
Die Antwort liegt eine Ebene tiefer, hoffe weitergeholfen zu
haben…Stefan
Es funktioniert!
Danke
Matthias