Hallo zusammen,
hier mein Problem:
Genaue Situationsbeschreibung:
Es liegt ein frameset vor mit einem topFrame und einem mainFrame.
Im Topframe liegt in einem div ein Bild mit onMouseOver-Funktionalität:
<div id="Layer3" style="position:absolute; left:28px; top:40px; width:140px; height:75px; z-index:1"><a href="bewerber_technik.htm" target="mainFrame" onMouseOut="document.images.fld.src='' + image + ''" onMouseOver="document.images.fld.src='' + imag + ''"><img name="fld" src="a01fld1.gif" border="0" width="140" height="75"></a></div>
In diesem Div wird zunächst ein Startbild angezeigt (sozusagen Bild 0).
Wenn der Nutzer darauf geht, wird eine Animation gezeigt (Bild 1). Geht er wieder weg, wird eine passende (!), zweite Animation gezeigt (Bild2).
Es sollen aber bei Wechsel auf eine andere Main-Seite ein anderes Bildpaar zu sehen sein, Bild 1 und 2 sollen also passend zueinander gewechselt werden, denn es gibt mehrere dieser Bildpaare und sei sollen sukzessive sichtbar sein.
Nach einigen Versuchen ist es mir gelungen, dass bei Neuladen des topFrames ein neues Bildpaar ausgesucht wird und
zwar wird das erste Bild ausgewählt, indem eine Zufallszahl zwischen 1 und 13 erstellt wird (es gibt 13 Bildpaare), dieser Zahl ist genau ein Bild exakt zugeordnet. Danach wird diesem Bild durch eine diesem Prozess nachgelagerte switch-Funktion das passende zweite Bild exakt zugeordnet. In der ersten Funktion ist das Bild die Variable "image",
in der nachfolgenden Funktion wird die Variable "imag" definiert und erstellt.
Also: Bild 1 = Variable "image"; Bild 2 = Variable "imag".
Nach einigen Anstrengungen fand ich auch heraus, WIE ich diese Variablen in die oben angegebene onMouseOver-Geschichte einbauen musste, damit sie überhaupt genutzt werden ('' + image + ''). So, wie es oben steht, funktioniert es nun wie folgt:
Bei Neugenerierung des topFrames wird der Prozess durchlaufen (Zufallszahl, -> image; Switch, -> imag), aber da diese onMouseOver-Funktionalität vorher ein festes Bild haben will (die Variablen bekomme ich nicht als Startbild untergebracht) und dieses folglich immer gleich ist, wird die Änderung erst gesehen, wenn die Maus dorthin bewegt wird.
Also wäre doch die Lösung, diese Zufallszahl-Bild1-Switch-Bild2-Generierung ins mainFrame zu packen, so dass bei jedem Seitenwechsel diese 2 Bilder neu generiert werden, ohne dass dann dieses fixe Startbild querschiessen sollte. Es wäre nur beim ersten Start des Framesets zu sehen, da das topFrame konstant bleibt.
Nun gibt es zwei Probleme/Fragen:
1) Diese 2 ineinandergesteckten JavaScript-Funktionen liegen nicht als "normale", abrufbare, ansprechbare Funktion vor und jeder Versuch, solch ein umgebendes Konstrukt zu erstellen, funktionierte bisher nicht (da fehlt mir dann doch die Erfahrung).
2) Die Werte für diese Variablen "image" und "imag" müßten vom topFrame abgefragt werden bzw. (eher) vom mainFrame heraus aktualisiert werden. Im topFrame selbst müssen aber auch vor der Nutzung der Platzhalter "image" und "imag" diese zumindest beim ersten Start auch definiert werden, denn sonst wird als Fehler gemeldet, dass diese Variablen nicht definiert sind.
Was soll ich tun?
Zur genaueren Info:
[So beginnt die Generierung:]
var imagenumber = 13 ;
var randomnumber = Math.random() ;
var rand1 = Math.round( (imagenumber-1) * randomnumber) + 1 ;
images = new Array
images[1] = "a02fern1.gif"
images[2] = "a03dell1.gif"
.
.
[usw]
.
.
var image = images[rand1]
[HIER ist der Übergang von der ersten zur zweiten Funktion!!]
var imag
switch(image)
{
case "a02fern1.gif":
imag = "a02fern2.gif";
break;
.
.
.
[usw]
.
.
.
case "a13dsl1.gif":
imag = "a13dsl2.gif";
break;
} [ENDE]
Danke für Eure Hilfe
Viele Grüße aus Mettmann
Michael
bamian@gmx.de
hier mein Problem:
Genaue Situationsbeschreibung:
Es liegt ein frameset vor mit einem topFrame und einem mainFrame.
Im Topframe liegt in einem div ein Bild mit onMouseOver-Funktionalität:
<div id="Layer3" style="position:absolute; left:28px; top:40px; width:140px; height:75px; z-index:1"><a href="bewerber_technik.htm" target="mainFrame" onMouseOut="document.images.fld.src='' + image + ''" onMouseOver="document.images.fld.src='' + imag + ''"><img name="fld" src="a01fld1.gif" border="0" width="140" height="75"></a></div>
In diesem Div wird zunächst ein Startbild angezeigt (sozusagen Bild 0).
Wenn der Nutzer darauf geht, wird eine Animation gezeigt (Bild 1). Geht er wieder weg, wird eine passende (!), zweite Animation gezeigt (Bild2).
Es sollen aber bei Wechsel auf eine andere Main-Seite ein anderes Bildpaar zu sehen sein, Bild 1 und 2 sollen also passend zueinander gewechselt werden, denn es gibt mehrere dieser Bildpaare und sei sollen sukzessive sichtbar sein.
Nach einigen Versuchen ist es mir gelungen, dass bei Neuladen des topFrames ein neues Bildpaar ausgesucht wird und
zwar wird das erste Bild ausgewählt, indem eine Zufallszahl zwischen 1 und 13 erstellt wird (es gibt 13 Bildpaare), dieser Zahl ist genau ein Bild exakt zugeordnet. Danach wird diesem Bild durch eine diesem Prozess nachgelagerte switch-Funktion das passende zweite Bild exakt zugeordnet. In der ersten Funktion ist das Bild die Variable "image",
in der nachfolgenden Funktion wird die Variable "imag" definiert und erstellt.
Also: Bild 1 = Variable "image"; Bild 2 = Variable "imag".
Nach einigen Anstrengungen fand ich auch heraus, WIE ich diese Variablen in die oben angegebene onMouseOver-Geschichte einbauen musste, damit sie überhaupt genutzt werden ('' + image + ''). So, wie es oben steht, funktioniert es nun wie folgt:
Bei Neugenerierung des topFrames wird der Prozess durchlaufen (Zufallszahl, -> image; Switch, -> imag), aber da diese onMouseOver-Funktionalität vorher ein festes Bild haben will (die Variablen bekomme ich nicht als Startbild untergebracht) und dieses folglich immer gleich ist, wird die Änderung erst gesehen, wenn die Maus dorthin bewegt wird.
Also wäre doch die Lösung, diese Zufallszahl-Bild1-Switch-Bild2-Generierung ins mainFrame zu packen, so dass bei jedem Seitenwechsel diese 2 Bilder neu generiert werden, ohne dass dann dieses fixe Startbild querschiessen sollte. Es wäre nur beim ersten Start des Framesets zu sehen, da das topFrame konstant bleibt.
Nun gibt es zwei Probleme/Fragen:
1) Diese 2 ineinandergesteckten JavaScript-Funktionen liegen nicht als "normale", abrufbare, ansprechbare Funktion vor und jeder Versuch, solch ein umgebendes Konstrukt zu erstellen, funktionierte bisher nicht (da fehlt mir dann doch die Erfahrung).
2) Die Werte für diese Variablen "image" und "imag" müßten vom topFrame abgefragt werden bzw. (eher) vom mainFrame heraus aktualisiert werden. Im topFrame selbst müssen aber auch vor der Nutzung der Platzhalter "image" und "imag" diese zumindest beim ersten Start auch definiert werden, denn sonst wird als Fehler gemeldet, dass diese Variablen nicht definiert sind.
Was soll ich tun?
Zur genaueren Info:
[So beginnt die Generierung:]
var imagenumber = 13 ;
var randomnumber = Math.random() ;
var rand1 = Math.round( (imagenumber-1) * randomnumber) + 1 ;
images = new Array
images[1] = "a02fern1.gif"
images[2] = "a03dell1.gif"
.
.
[usw]
.
.
var image = images[rand1]
[HIER ist der Übergang von der ersten zur zweiten Funktion!!]
var imag
switch(image)
{
case "a02fern1.gif":
imag = "a02fern2.gif";
break;
.
.
.
[usw]
.
.
.
case "a13dsl1.gif":
imag = "a13dsl2.gif";
break;
} [ENDE]
Danke für Eure Hilfe
Viele Grüße aus Mettmann
Michael
bamian@gmx.de
Kommentar