rollover-bild im ie8
fabienne
- browser
hallo
ich arbeite gerade an meiner ersten website und bin auf ein seltsames problem gestossen...
ich zeige auf der einstiegsseite eine reihe von bildern, die mit unterseiten verlinkt sind. auf diese bilder wende ich einen rollover-effekt an (bei mouseover wechselt das bild zu einer gelben fläche). die bilder haben alle einen unterschiedlichen namen, für das rollover-bild benutze ich allerdings immer das selbe gelbe 1-pixel-gif.
das problem:
im internet explorer v8 erscheint die gelbe fläche konsequent an der stelle des nachbarbildes. sprich, wenn ich mit der maus über bild 1 bin, dann erscheint bild 2 als gelbe fläche, wenn ich mit der maus über bild 2 bin, dann erscheint bild 3 als gelbe fläche u.s.w.
ausserdem erscheinen die gelben flächen im opera v9.27 auf mac osx v10.5.7 überhaupt nicht.
liegt das nun an meinem code (siehe http://www.fabienneerni.ch/_/test/index.html) oder an den browsern?
fabienne
@@fabienne:
nuqneH
ich zeige auf der einstiegsseite eine reihe von bildern, die mit unterseiten verlinkt sind. auf diese bilder wende ich einen rollover-effekt an (bei mouseover wechselt das bild zu einer gelben fläche). die bilder haben alle einen unterschiedlichen namen, für das rollover-bild benutze ich allerdings immer das selbe gelbe 1-pixel-gif.
Dafür brauchst du weder JavaScript noch das gelbe 1-Pixel-GIF. Weg damit!
Auch die span[@class="image"] sind überflüssig.
Überhaupt: Wenn alle Elemente derselben Klasse angehören, dann ist die Klasse unsinnig. Du hättest die Dinger in CSS auch mit dem Nachfahrenselektor '#image-box span' selektieren können. [CSS2 §5, SELFHTML]
Außerdem sieht das sehr nach einer Liste aus, also nach einem 'ul'- oder 'ol'-Element mit 'li'-Elementen.
Markup:
<a href="foo"><img src="bar" alt="baz"/></a>
Stylesheet:
#image-box a
{
float: left;
background-color: yellow;
}
#image-box a img
{
display: block;
border: 0 none;
}
#image-box a:hover img
{
visibility: hidden;
}
Qapla'
Hi there,
liegt das nun an meinem code (siehe http://www.fabienneerni.ch/_/test/index.html) oder an den browsern?
Wenn's denn Dein Code wäre. Leider ist es der Code der Dreamweaverproduzenten. Und der war immer schon mehr als bescheiden. Es gibt sogar Leute, die bekommen Ausschläge, wenn sie Javascriptfunktionen sehen, die mit MM_ beginnen.
Dein Problem trifft übrigens auf jeden InternetExplorer zu. Wenn Du die gleichnamige Funktion in Deinem Skript mit der von mir geposteten ersetzt, sollte es auch für den IE funken...
function MM_findObj(n, d)
{
var p,i,x;
if(!d)
{
d=document;
}
if(!x && d.getElementById)
{
x=d.getElementById(n);
}
return x;
}
hope it helps...
@@Klawischnigg:
nuqneH
Es gibt sogar Leute, die bekommen Ausschläge, wenn sie Javascriptfunktionen sehen, die mit MM_ beginnen.
Qapla'
Hi,
im internet explorer v8 erscheint die gelbe fläche konsequent an der stelle des nachbarbildes.
Nicht nur in dem, sondern im 7er auch. Und laut IETester auch im 6er und 5.5er. Das scheint also eine generelle Inkompabilität des Scriptes mit dem IE zu sein.
liegt das nun an meinem code (siehe http://www.fabienneerni.ch/_/test/index.html) oder an den browsern?
"Dein" Code ist es ja eigentlich gar nicht, sondern etwas von einem Macromedia-Editor "ausgeliehenes".
Und deshalb habe ich auch keine Lust, es mit näher anzuschauen - denn diese Funktionen sind umständlicher Mist.
Mein Vorschlag: Bau dir das ganze selber, http://de.selfhtml.org/javascript/beispiele/buttons.htm zeigt wie. Dann lässt sich auch leichter nach der Ursache des Fehlverhaltens im IE suchen (sofern es dann überhaupt noch besteht), als in diesem Code-Murks von Macromedia.
MfG ChrisB
hallo zusammen
vielen dank für die inputs. ich werde eure verbesserungsvorschläge ausprobieren und in zukunft möglichst auf mm-scripts verzichen...
fabienne