# Layer-Objekt



## Campino (18. Apr 2004)

Hi leute,

kann mir einer Erklären, warum folgener code nicht läuft(ich nutze den IE4):


```
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>CSS-Test</title>
<meta name="author" content="Kampmann">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<script language="JavaScript">
<!--
var bwr=navigator.appName;
var ver =parseInt(navigator.appVersion, 10);

NS4=(bwr=="Netscape" && ver==4) ? 1:0;
NS6=(bwr=="Netscape" && ver==6) ? 1:0;
IE4=(bwr=="Microsoft Internet Explorer" && ver==4) ? 1:0;
IE5=(bwr=="Microsoft Internet Explorer" && ver==5) ? 1:0;

ver4=(NS4||NS6||IE4||NS6||IE5)?1:0;

if(NS4||NS6){
   doc="document";
   styl="";
   html=".document";
   xpos="e.pageX";
   ypos="e.pageY";
}
else if(IE4||IE5){
   doc="document.all";
   styl=".style";
   html="";
   xpos="event.x";
   ypos="event.y";
}

function layer(layername, layer_s, layer_w){
    //Eigenschaften
    this.layername=layername;
    this.layer_s=layer_s;//
    this.layer_w=layer_w;//
    //Methoden
    this.writeLayer=writeLayer;
    this.moveLayer=moveLayer;
}

function writeLayer(layername, text){
    if(NS4||NS6){
           layer_w.write='NR. '+i+" "+x;
         }
         else{
           layer_w.innerHTML+='NR. '+i+" "+x+"
";
         }
}

function moveLayer(){
         var xmpx=this.layer_s.left;
         var length=xmpx.length;
         var x=xmpx.substring(0, length-2)
         x=x+50;
         layer.left=x;
}

//-->
</script>
</head>
<body onLoad='var tl_s=eval(doc+"."+testlayer+"."+styl); var tl_w=eval(doc+"."+testlayer+"."+html);  var testlayer=new layer("testlayer", tl_s, tl_w); testlayer.moveLayer();'>
<div id="testlayer" style="position:absolute; background:#FFFF00; width:100px; height:100px; top:100px; left:120px">
Das ist Testlayer
</div>
</body>
</html>
```

Der IE4 zeigt an:


> Zeile: 64
> Zeichen:1
> Fehler: Bezeichner erwartet
> Code:0



Wäre toll wenn mir einer helfen könnte,

Campino


----------



## McMaster (23. Apr 2004)

Hallo.

Dies ist verkehrt:
"<body onLoad='var tl_s=eval(doc+"."+testlayer+"."+styl); var tl_w=eval(doc+"."+testlayer+"."+html);  var testlayer=new layer("testlayer", tl_s, tl_w); testlayer.moveLayer();'>"

Wandele die Anfangs " ' " in " " " um:

Also:
"<body onLoad="var tl_s=eval(doc+"."+testlayer+"."+styl); var tl_w=eval(doc+"."+testlayer+"."+html);  var testlayer=new layer("testlayer", tl_s, tl_w); testlayer.moveLayer();">"

Gruß

McMaster


----------



## Campino (24. Apr 2004)

Erst mal danke das überhaupt mal jemand antwortet, aber deine Lösung verlagert den Fehler nur in Zeile 68:



> Zeile:68
> Zeichen:1
> Fehler: Syntaxfehler



Aber Z. 68 enthält gar kein JavaScript...

Gruß, 
Campino


----------

