Hallo Leute,
wenn ich nachfolgenden Code im IE ausführe, funktioniert er, wie von mir geplant. Bei der Verwendung von NS 4.7x ergibt sich folgendes Verhalten:
- Beim Aufruf erscheint korrekt die blaue Fläche, allerdings etwas höher als mit height definiert (border-weidth=thin?). Verändere ich nun aber die Größe des gesamten NS-Fensters, so wird die Fläche an die Textlänge angepaßt und die paddings verschwinden.
- Beim Überfahren der Fläche wird nur ein Rand rot (beim IE gesamte Fläche), nach einer Größenänderung des gesamten NS-Fensters aber die gesamte Fläche.
- Erfolgt nach einer Veränderung der Fenstergröße ein Reload, ist wieder die gesamte Rechteckfläche blau, wobei aber jetzt beim Überfahren wieder nur der Rand rot wird.
Hier der Code:
<html>
<head>
<title>Test</title>
<style type="text/css">
.menu
{ position: absolute;
left: 10;
top: 10;
height: 30;
width: 80;
padding-left: 10;
padding-top: 5;
border-style:none;
border-width:thin;
color: #FFFFFF;
background: #0000C0;
layer-background-color: #0000C0; }
</style>
<script>
<!--
var ns=0, ie=0; oldid="";
var T=10, L=10; H=30, W=80;
function set_bgcolor(x,color)
{ if (ns) document.layers[x].bgColor=color;
if (ie) document.all[x].style.background=color; }
function set_select(x)
{ if (oldid != x)
{ if (oldid) set_bgcolor(oldid, "#0000C0");
oldid=x;
set_bgcolor(x, "red"); }; }
function check_mouse(e)
{ var x, y;
if (ns) { x=e.pageX; y=e.pageY; };
if (ie) { x=event.clientX; y=event.clientY; };
if ((x>L) && (x<=W) && (y>T) && (y<=T+H)) set_select("m1")
else if (oldid) { set_bgcolor(oldid, "#0000C0");
oldid=""; }; }
if (document.layers) { ns=1; ie=0; } else { ns=0; ie=1; };
if (ns) { window.captureEvents(Event.MOUSEMOVE);
window.onmousemove=check_mouse; };
if (ie) document.onmousemove=check_mouse;
//-->
</script>
</head>
<body>
<div id="m1" class="menu">Test</div>
</body>
</html>
Findet jemand einen Fehler?
Gruß
Henry