Layerbreite immer auf maximale Fensterbreite?

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

Moin,

um ein Block-Element auf die Fensterbreite zu bringen, vergebe man als Breite 100%.

Fertig.

Abgesehen von irgendwelchen margins oder paddings ist das auch die Voreinstellung für Block-Elemente.

Gruß,
-Efchen

Hallo Efchen,

danke erst einmal für deine Antwort. Ich habe es schon damit versucht, die Weite einfach auf 100% anzulegen, aber es klappt nicht. Es geht nur um den Layer, der langsam eingeblendet wird. Ich weiß dass ich die Variablen im Script irgendwie so abändern muss, dass die Breite 100 % hat, aber ich weiß nicht, wie, geschweige denn, wie ich es für alle Browser gültig einstelle.

danke erst einmal für deine Antwort. Ich habe es schon damit
versucht, die Weite einfach auf 100% anzulegen, aber es klappt
nicht.

Mit CSS? Das klappt eigentlich in jedem CSS-fähigen Browser, sogar im IE. Wenn man den mit dem richtigen Doctype in den Standards Mode versetzt natürlich nur, denn sonst zieht ja der Box-Model-Fehler.

Ich weiß dass ich die Variablen im Script irgendwie so
abändern muss, dass die Breite 100 % hat

Ich habe das Gefühl, dass das ohnehin kein JavaScript-Problem ist.

Gruß,
-Efchen