Hallo alle zusammen,
ich bin schon seit einigen Tagen auf der Suche nach einer Lösung für ein Problem, konnte bislang aber keine finden und hoffe, dass ihr mir helfen könnt.
Es geht darum, in einer Webseite einen Layer langsam einzublenden, der immer die maximale Fensterbreite hat, egal in welchem Browser und egal auf welchem Montitor. Ich habe es bereits mit Auslesung der Fensterbreite versucht, aber es hat nicht funktioniert.
Für FF hatte ich es auch schon hinbekommen, aber dann funktionierte es wieder im IE nicht, geht es im IE klappt es in Opera wieder nicht, usw.
Mein Script sieht bislang so aus:
Test
#mydiv { z-index:2; visibility:hidden; -moz-opacity:0.8; opacity:0.8; filter:alpha(opacity=80); background-color:cc0000; color:black; margin-left:0em; margin-right:0em; position:absolute; top:288px; font-size: 10pt; font-family: Verdana; font-weight:bold; padding-left:18em; padding-right:10em; padding-top:1em;}
body {background-color:white;}
#menu1 {width:100px; margin-left: 0pt; padding:0pt; position:absolute; top:100px}
ul, li { list-style-type: none; margin-left:50pt; padding: 0pt; color:#000000 }
li a:link { color:#000000;text-decoration:none; font: 10pt verdana; font-weight:bold;}
li a:visited { color:#000000;text-decoration:none; font: 10pt verdana; font-weight:bold;}
li a:active { color:#cc0000;text-decoration:none; font: 10pt verdana; font-weight:bold;}
li a:hover { color:#cc0000; text-decoration:NONE; }
var reentrant = 0, h = 0, b = 0;
function div_blende(id, breite, hoehe, aktion)
{
if( ! reentrant ) {
reentrant = 1;
var move = 0, element = document.getElementById(id);
if( aktion == ‚ein‘ ) {
if(h < hoehe ){ h += 15; move++ }
if(b < breite){ b += 100; move++}
element.style.visibility = ‚visible‘;
}
else if( aktion == ‚aus‘ ) {
if(h > 0 ){ h -= 15; move++ }
if(b > 0 ){ b -= 100; move++ }
element.style.visibility = (b > 0 && h > 0) ? ‚visible‘ : ‚hidden‘;
}
if( move ) {
element.style.height = h + ‚px‘;
element.style.width = b + ‚px‘;
window.setTimeout( function(){ div_blende(id,hoehe,breite,aktion) }, 20 );
}
reentrant = 0;
}
}
Dieser Layer soll über die gesamte Fensterbreite reichen und sich verschiedenen Breiten entsprechend anpassen.
zurück