kein Rollover in versteckten DIVs (NN), warum?
Andreas
- javascript
0 holger kuehne0 Andreas
Guten Tag allerseits,
zu meinem Problem, ich habe in einer Seite versteckte bereichte definiert die Untermenues enthalten.
Die Links in diesem Untermenue sollen mit einem Rollover-effekt versehen werden. Die Funktion wird aber leider nur vom IE benutzt. Entferne ich aus dem Stylesheet (position: absolute; visibility: hidden;) funktionierts auch im NN. ??
Wer weiß Rat
Danke und Grüße Andy
CODE
var fullversion = navigator.appVersion;
var temp = fullversion.substring(0,1);
var version = eval(temp);
if (version >= 3) {
var buttonnrm = new Array();
var buttonovr = new Array();
for (i=0;i<=14;i++){
buttonnrm[i] = new Image();
buttonovr[i] = new Image();
}
buttonnrm[14] = 99; // merkt sich letztes getauschtes bild fuer tausch()
buttonovr[14] = new Image(); // merkt sich bild.src fuer tausch()
buttonnrm[0].src = "../\_pix/main\_b00nrm.gif";
buttonovr[0].src = "../\_pix/main\_b00ovr.gif";
buttonnrm[1].src = "../\_pix/main\_b01ovr.gif";
buttonovr[1].src = "../\_pix/main\_b01ovr.gif";
buttonnrm[2].src = "../\_pix/main\_b02nrm.gif";
buttonovr[2].src = "../\_pix/main\_b02ovr.gif";
buttonnrm[3].src = "../\_pix/main\_b03nrm.gif";
buttonovr[3].src = "../\_pix/main\_b03ovr.gif";
buttonnrm[4].src = "../\_pix/main\_b04nrm.gif";
buttonovr[4].src = "../\_pix/main\_b04ovr.gif";
buttonnrm[5].src = "../\_pix/main\_b05nrm.gif";
buttonovr[5].src = "../\_pix/main\_b05ovr.gif";
buttonnrm[6].src = "../\_pix/f+s\_nrm.gif";
buttonovr[6].src = "../\_pix/f+s\_ovr.gif";
buttonnrm[7].src = "../\_pix/r+f\_nrm.gif";
buttonovr[7].src = "../\_pix/r+f\_ovr.gif";
buttonnrm[8].src = "../\_pix/k+k\_nrm.gif";
buttonovr[8].src = "../\_pix/k+k\_ovr.gif";
buttonnrm[9].src = "../\_pix/f+f\_nrm.gif";
buttonovr[9].src = "../\_pix/f+f\_ovr.gif";
buttonnrm[10].src = "../\_pix/l+l\_nrm.gif";
buttonovr[10].src = "../\_pix/l+l\_ovr.gif";
buttonnrm[11].src = "../\_pix/s+v\_nrm.gif";
buttonovr[11].src = "../\_pix/s+v\_ovr.gif";
buttonnrm[12].src = "../\_pix/l+d\_nrm.gif";
buttonovr[12].src = "../\_pix/l+d\_ovr.gif";
buttonnrm[13].src = "../\_pix/o+k\_nrm.gif";
buttonovr[13].src = "../\_pix/o+k\_ovr.gif";
}
function wexlein() {
if (version >= 3) {
document.images['bild'+wexlein.arguments[0]].src = eval('buttonovr[' +wexlein.arguments[0] + '].src');
}
}
function wexlaus() {
if (version >= 3) {
document.images['bild'+wexlaus.arguments[0]].src = eval('buttonnrm[' + wexlaus.arguments[0] + '].src');
window.status = 'Westlotto';
}
}
function tausch(){
if (version >= 3) {
if (buttonnrm[14] != tausch.arguments[0]){
if (buttonnrm[14] < 14){
buttonnrm[buttonnrm[14]] = buttonovr[14];
wexlaus(buttonnrm[14]);
}
buttonnrm[14] = tausch.arguments[0];
buttonovr[14] = buttonnrm[tausch.arguments[0]];
buttonnrm[tausch.arguments[0]] = buttonovr[tausch.arguments[0]];
}
}
}
Hi Andreas
Das Problem besteht darin, dass Netscape absolut positionierte Divs als eigenes Fenster betrachtet. (Durch die Angabe: position: absolute; )
Daraus folgt, dass alles, was innerhalb der absoluten Divbereiche steht in Netscape folgendermassen angesprochen wird:
document.layers[LayerNummer]... In deinem Fall muessen die images also so angesprochen werden:
document.layers[LayerNummer].document.images.......
Du musst also in den Funktionen eine Fallunterscheidung von IE und Netscape machen und ausserdem noch die Layernummer uebergeben.
Damit muesste es funktionieren
Holger
hallo Holger,
herzlichen Dank für Deinen Tip, hat mir sehr weitergeholfen :)