Probleme mit Layer -> Firefox
SynN
- javascript
Hallo!
Ich bin für meine Arbeit an einem Onlineshop am arbeiten, möchte den Kunden auch die Möglichkeit bieten können, per MouseOver bei einem Bild ein kleines Layer angezeigt zu bekommen, welches die Beschreibung enthält. Funktioniert im IE super, im FF allerdings nicht (da is was faul, ich weiß).
Mal hier das JavaScript:
<script type="text/javascript">
descarray = new Array(
"Beschreibung 1",
"Beschreibung 2",
"Beschreibung 3",
"Beschreibung 4"
);
overdiv="0";
function popLayer(a)
{
if(!descarray[a])
{
descarray[a]="<font color=red>Beschreibung fehlt</font>";
}
pad="0"; bord="0 bordercolor=black";
desc = "<table cellspacing=0 cellpadding="+pad+" border="+bord+" bgcolor='#000000'><tr><td>\n"
+"<table cellspacing=0 cellpadding=10 border=0 width=100%><tr><td bgcolor=#017CC2><p align="center" style="font-size: 12; color: white">\n"
+descarray[a]
+"</p>\n</td></tr></table>\n"
+"</td></tr></table>";
document.getElementById("object1").innerHTML=desc;
document.getElementById("object1").style.position = "absolute";
document.getElementById("object1").style.left=x+15;
document.getElementById("object1").style.top=y-5;
return desc;
}
function hideLayer()
{
if (overdiv == "0")
{
document.getElementById("object1").style.top="-500";
}
}
var isNav = (navigator.appName.indexOf("Netscape") != -1);
function handlerMM(e)
{
x = (e) ? e.pageX : event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
y = (e) ? e.pageY : event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
if (document.layers) alert("1");
document.onmousemove = handlerMM;
if (document.all){
// Microsoft-Modell
} else if (typeof(document.getElementById)=="function") {
// wenn Netscape-Modell
for (var i=1; i<=document.adminForm.zahlungsart.length; i++){
name = ("zahlung"+i);
document.getElementById("zahlung"+i).style.visibility ="hidden";
document.getElementById("zahlung"+i).style.position = "absolute";
document.getElementById("zahlung"+i).style.display = "none";
}
} else {
// wenn Modell nicht unterstützt
alert("Ihr Browser wird nicht unterstützt.");
}
</script>
und der DIV:
<div id="object1" style="position:absolute; background-color:FFFFDD; color:black; border-color:black;border-width:20; visibility:show; left:25px; top:-100px; z-index:+1" onmouseover="overdiv=1;" onmouseout="overdiv=0; setTimeout('hideLayer()',1)"></div>
Im IE bekomme ich ein wunderbares Layer angezeigt, welches sich auch in der Höhe und Breite anpasst, der FF zeigt mir gar nichts an.
Hier mal ein Beispiel (es fehlen Background, etc):
http://sunmega.f2k-hosting.net/hk.html
Wenn ich das nicht schnell bräuchte würd ich gar nicht nachfragen, es eilt nur sehr :(
Ich danke euch schon Mal im Vorraus für eure Hilfe!
MfG
SynN
Ich bin für meine Arbeit an einem Onlineshop am arbeiten, möchte den Kunden auch die Möglichkeit bieten können, per MouseOver bei einem Bild ein kleines Layer angezeigt zu bekommen, welches die Beschreibung enthält. Funktioniert im IE super, im FF allerdings nicht (da is was faul, ich weiß).
so sieht's aus, du verwendest nirgends eine Eineheit, weder im CSS noch im JS, woher soll der Browser wissen was du meinst?
Struppi.
Ich bin für meine Arbeit an einem Onlineshop am arbeiten, möchte den Kunden auch die Möglichkeit bieten können, per MouseOver bei einem Bild ein kleines Layer angezeigt zu bekommen, welches die Beschreibung enthält. Funktioniert im IE super, im FF allerdings nicht (da is was faul, ich weiß).
so sieht's aus, du verwendest nirgends eine Eineheit, weder im CSS noch im JS, woher soll der Browser wissen was du meinst?
Struppi.
Wie darf ich das verstehen? Das Design ist nicht endgültig, da wird noch ne menge gebastelt, es geht mir jetzt nur um die Technik.. ausserdem ist das was du siehst ja eh nur das was der IE beim speichern ausgespuckt hat..
Ich bin für meine Arbeit an einem Onlineshop am arbeiten, möchte den Kunden auch die Möglichkeit bieten können, per MouseOver bei einem Bild ein kleines Layer angezeigt zu bekommen, welches die Beschreibung enthält. Funktioniert im IE super, im FF allerdings nicht (da is was faul, ich weiß).
so sieht's aus, du verwendest nirgends eine Eineheit, weder im CSS noch im JS, woher soll der Browser wissen was du meinst?
Struppi.
Bitte keine Fullquote, das liest sich schlecht und ich weiß nicht auf welche Aussage du dich beziehst.
Wie darf ich das verstehen? Das Design ist nicht endgültig, da wird noch ne menge gebastelt, es geht mir jetzt nur um die Technik.. ausserdem ist das was du siehst ja eh nur das was der IE beim speichern ausgespuckt hat..
Mir geht es auch nur um die Technik, wenn du irgendwo schreibst stye.left = '50' weiß der Browser nicht ob du px, pt, em, % oder ex meinst und sollte diese Angabe ignorieren.
Struppi.