MouseOvereffekt innerhalb eines Layers (NN 4.0)
Nicole
- javascript
kann mir mal bitte jemand bei der funktion helfen, ich finde einfach den fehler nicht.
browserabfrage und dann folgt:
function activ1(imgName)
{
if(browser = "Netscape 4.0")
{
if (document.images)
{
if(window.document.unternavi_unternehmen.visibility == "show")
{document.unternavi_unternehmen.document[imgName].src = eval(imgName + "_on.src");}
...(weitere layer)
}}}
ich kriege im NN einfach nicht den Mouseovereffekt hin.
vielen dank für die hilfe im voraus
hallo nicole
willst Du ebene ein-ausblenden oder bildtauschen in der ebene?
Gruß Burkhard
hallo nicole
willst Du ebene ein-ausblenden oder bildtauschen in der ebene?
Gruß Burkhard
_____________________
ich will bilder austauschen sprich mouseovereffekt. das ein- und ausblenden funktioniert.
mein normales script für den austausch der grafiken funktioniert da leider nicht, hatte bis dato auch nicht gewußt, daß man in nn 4.0 grafiken im layer anders ansprechen muß.
deswegen habe ich die abfrage und das skript.
gruß nicole
hallo nicole
willst Du ebene ein-ausblenden oder bildtauschen in der ebene?
Gruß Burkhard
_____________________
ich will bilder austauschen sprich mouseovereffekt. das ein- und ausblenden funktioniert.
mein normales script für den austausch der grafiken funktioniert da leider nicht, hatte bis dato auch nicht gewußt, daß man in nn 4.0 grafiken im layer anders ansprechen muß.
deswegen habe ich die abfrage und das skript.
gruß nicole
na dann versuch es mal so:
Das sollte Dir weiter helfen
n = (document.layers) ? 1:0
ie = (document.all) ? 1:0
ns = (document.getElementById) ?1:0
function img_change(layername, imagename, newimage) {
if (n) eval("document."+layername+".document.images[imagename].src =eval(newimage+'.src')")
if (ie) document.images [imagename].src = eval(newimage+'.src')
if (ns) document.images[imagename].src = eval(newimage+'.src')
}
Gruß Burkhard
hallo nicole
willst Du ebene ein-ausblenden oder bildtauschen in der ebene?
Gruß Burkhard
na dann versuch es mal so:
Das sollte Dir weiter helfen
n = (document.layers) ? 1:0
ie = (document.all) ? 1:0
ns = (document.getElementById) ?1:0
function img_change(layername, imagename, newimage) {
if (n) eval("document."+layername+".document.images[imagename].src =eval(newimage+'.src')")
if (ie) document.images [imagename].src = eval(newimage+'.src')
if (ns) document.images[imagename].src = eval(newimage+'.src')
}
Gruß Burkhard
______________________________
dir auch danke.
ist ja echt super das forum.
hätte ich das gewußt, wäre ich gleich hierher... ist jetzt meine erste adresse, wenns mal wieder hängt.
ich werde das auch gleich mal testen.
vielen dank nochmal und ein schönes we
somit wäre mir auch ein angenehmes we beschert. der streß deswegen fällt endlich weg *g*
nicole
hallo,
'snief' habe beide scripte ausprobiert.... es will nicht.
ich erhalte ne fehlermeldung:
document.unternavi_unternehmen.document.images[imgName] has
no properties.
manno, stell ich mich so dumm an?
war das wochenende leider doch nicht so ruhig. lacht.
wenns hilft kann ich auch ne url rübergeben.
oh gott, muß doch diese woche fertig werden. *lacht*
nicole
Hallo Nicole
da war ja auch ein kleiner Fehler in den Scripten von Thomas und Burkhard (erstaulicherweise beide Male der gleiche).
document.unternavi_unternehmen.document.images[imgName] has
Statt dessen müßtest Du nämlich
document.unternavi_unternehmen.document.imgName
ansprechen.
Für den Code von Burkhard bedeutet das, statt
if (n) eval("document."+layername+".document.images[imagename].src =eval(newimage+'.src')")
muß es
if (n) eval("document."+layername+".document."+imagename+".src =eval(newimage+'.src')")
heißen. Die beiden haben nämlich eine Variante beschrieben, in der man nicht den Image-Namen, sondern den Image-Index (1. Bild =0, 2. Bild =1 etc.) übergeben müßte.
viel Erfolg
axel
heißen. Die beiden haben nämlich eine Variante beschrieben, in der man nicht den Image-Namen, sondern den Image-Index (1. Bild =0, 2. Bild =1 etc.) übergeben müßte.
index nehme ich eigentlich sonst auch immer, wenn es überschaubar ist, aber ich will mich ja nicht totzählen, vor allem, wenn vielleicht irgendwo ein spacer fehlt *g*
ist mir gar nicht aufgefallen...
so, irgendwie scheint montag nicht mein tag zu sein...
jetzt bringt er zwar keine fehlermeldung mehr, aber die mouseover wollen immer noch nicht..... *snief*
so sieht die funktion jetzt aus...
function activ1(layer,imagename,imgObj) //Wechsel Unternavi in Layer und Headline auf aktiv
{
if (document.images){
if (document.layers && layer!=null) eval("document."+layer+".document."+imagename+".src = eval(imgObj+'.src')");
else document[imagename].src = eval(imgObj+'.src');
document["headline"].src = eval(imagename + "_head.src");
}
}
nicole *leicht konfus*
Tagchen
Ich verstehe das Problem nicht. Schau Dir mein Script noch einmal genau an. Meine Variante funktioniert tadellos mit Netscape 4.6, das habe ich eben noch einmal getestet.
Mir scheint, Du bist bei diesen beiden hier (' bzw. ") etwas durcheinander gekommen. Da reagieren Browser manchmal sehr empfindlich.
Außerdem:
if (document.layers && layer!=null)
eval("document."+layer+".document."+imagename+".src = eval ...
Fehler: ^^^^^^
Richtig:
eval("document."+layer+".document.images["+imagename+"].src = eval ...
Du kannst die Funktion übrigens auch außerhalb von Layern bzw. Divs verwenden. Dazu mußt Du nur statt dem Div-Namen "NULL" angeben.
Thomas J.
Nachtrag.
Eine ausführliche Beschreibung gibt es hier:
http://www.dansteinman.com/dynduo/en/images.html
Nachtrag.
Eine ausführliche Beschreibung gibt es hier:
http://www.dansteinman.com/dynduo/en/images.html
super. danke.
habe schon an mir gezweifelt.
nicole
Tagchen
Ich verstehe das Problem nicht. Schau Dir mein Script noch einmal genau an. Meine Variante funktioniert tadellos mit Netscape 4.6, das habe ich eben noch einmal getestet.
Mir scheint, Du bist bei diesen beiden hier (' bzw. ") etwas durcheinander gekommen. Da reagieren Browser manchmal sehr empfindlich.
hi,
nicht böse sein, ich verspreche auch mir meine haare nie wieder blond zu färben... *g*
könntest du mal über die datei sehen?
es will einfach nicht bei mir. win 2000 / nn 4.75, 4.78
der austausch der headline funktioniert, es wird keine fehlermeldung angezeigt (außer wenn ich image vor ["'+imgName+'"] stehen lasse. im ie funktioniert es, nn6 und opera auch.
hier der link zur site - keinen schreck kriegen, auf wunsch des kunden habe ich alles mit vorlagen und bibl.-elementen vom dreamweaver gemacht (zwecks kommentare)
http://www.cronon.net/~relaunch/unternehmen/unternehmen.html
danke.
eine sich die haare raufende nicole
Morgen
http://www.cronon.net/~relaunch/unternehmen/unternehmen.html
Ich schlage vor, Du korrigierst erstmal den Fehler in Zeile 86. Da fehlt ein <table>.
Dann mußt Du natürlich noch mit z.B.:
history_on = new Image();
history_on.src = "pfad/dateiname";
im Head-Breich die Objekte erzeugen. Sonst bekommst Du immer eine Fehlermeldung.
Woher soll der Browser denn wissen, was das Objekt "history_on" ist?
Außerdem solltest Du mal überprüfen, ob Du nicht etwa Namen doppelt vergeben hast. Das ist ein sehr beliebter Fehler, wenn man Imageobjekte definiert, Grafiken Namen verpaßt und dann noch für tausend Layer ID's vergibt.
Und schließlich:
Deine Funktion klappt nicht bei verschachtelten DIV's (hab jetzt nicht nachgeschaut, ob Du welche hast). Da muß es so aussehen:
... document.Divname_aussen.document.Divname_innen.document.images ...
Thomas J.
einen wunderschönen guten morgen,
http://www.cronon.net/~relaunch/unternehmen/unternehmen.html
Ich schlage vor, Du korrigierst erstmal den Fehler in Zeile 86. Da fehlt ein <table>.
mh, ich muß unterschiedliche cellpaddings auslesen zwecks dem haarfeinen rahmen, steht in document writeln - ist also vorhanden
Dann mußt Du natürlich noch mit z.B.:
history_on = new Image();
history_on.src = "pfad/dateiname";
wird durch externe scriptdatei geladen -> loader.js
Außerdem solltest Du mal überprüfen, ob Du nicht etwa Namen doppelt vergeben hast. Das ist ein sehr beliebter Fehler, wenn man Imageobjekte definiert, Grafiken Namen verpaßt und dann noch für tausend Layer ID's vergibt.
bestimmt nicht. soweit bin ich schon mit meinen javascript... *g*
grafiken heißen wie der dargestellte text und layer wie die navi also navi_... oder unternavi_...
Und schließlich:
Deine Funktion klappt nicht bei verschachtelten DIV's (hab jetzt nicht nachgeschaut, ob Du welche hast). Da muß es so aussehen:
... ich wechsel nur die sichtbarkeit der divs aus, im div steht nur ne tabelle, die die images ausrichtet...
übrigens, habe ich mir die seite, die du mir empfohlen hast mal angesehen, sehr informativ, nur leider!!! diese scripte funktionieren bei mir auch nicht - habe die beispielseiten aufgerufen. weder im ie noch in nn.
meins geht ja wenigstens noch im ie *snief*
ich glaub ich hab doch bald ne glatze vor lauter haare raufen
nicole
Hallo axel!
da war ja auch ein kleiner Fehler in den Scripten von Thomas und Burkhard (erstaulicherweise beide Male der gleiche).
document.unternavi_unternehmen.document.images[imgName] has
Das ist weder erstaunlich noch ein Fehler, sondern legale Javascriptsyntax.
document.images[3].src=...
document.images["bild_drei"].src=..
document.bild_drei.src=...
sind drei legale Methoden um auf ein Bild zuzugreifen.
Gruss,
Carsten
Tach
Versuch's mal so:
function changeImage(layer,imgName,imgObj) {
if (document.images) {
if (document.layers && layer!=null) eval('document.'+layer+'.document.images["'+imgName+'"].src = '+imgObj+'.src')
else document.images[imgName].src = eval(imgObj+".src")
}
}
Aufruf im body dann so:
<DIV ID="Irgendwas" ... ><A HREF="ziel" onmouseover="changeImage('Irgendwas','Bild1','Navi1')"<IMG NAME="Bild1" SRC="...>
</A></DIV>
Das ImgObj (hier Navi1) mußt Du vorher natürlich noch mit
Navi1 = new Image();
Navi1.src = "pfad/dateiname"
im Head-Bereich erzeugen.
Sollte sowohl mit Netscape 4.x als auch IE funzen.
Thomas J.
Tach
Versuch's mal so:
function changeImage(layer,imgName,imgObj) {
if (document.images) {
if (document.layers && layer!=null) eval('document.'+layer+'.document.images["'+imgName+'"].src = '+imgObj+'.src')
else document.images[imgName].src = eval(imgObj+".src")
}
}
Aufruf im body dann so:
<DIV ID="Irgendwas" ... ><A HREF="ziel" onmouseover="changeImage('Irgendwas','Bild1','Navi1')"<IMG NAME="Bild1" SRC="...>
</A></DIV>
Das ImgObj (hier Navi1) mußt Du vorher natürlich noch mit
Navi1 = new Image();
Navi1.src = "pfad/dateiname"
im Head-Bereich erzeugen.
Sollte sowohl mit Netscape 4.x als auch IE funzen.
Thomas J.
_____________________________-
supi.
du bist meine rettung.
ich danke dir vielmals und wünsche dir ein schönes we
Hallo Nicole
if(browser = "Netscape 4.0")
== nicht =
grüße
axel
Hallo Nicole
if(browser = "Netscape 4.0")
== nicht =
grüße
axel
_____________---
danke für die prompte antwort.
ich habe es auch woanders versucht (vor 3 tagen und noch keine antwort) *g*
meinst du, das dann das ansprechen der grafik funktioniert?
er hat nämlich immer die fehlermeldung gebracht, daß image.Name nicht gefunden werden kann...
nicole