Veröffentlicht 25. Mai 200421 j Hallo! Ich habe einige <div>-Layer definiert, deren Position in externen StyleSheets steht. Das Tag sieht so aus: <div id="Layer1" class="pos1"></div> Nun möchte ich per JavaScript die Position des Layers per onClick ändern. Ich habe es mit function wechsel() { x = 5; y = 20; document.all.getElementbyID("Layer2").moveBy(x,y); } [/PHP] und mit [PHP] function wechsel() { x = 5; y = 20; document.all.Layer2.moveBy(x,y); } versucht. Beim letzteren habe ich im <div> "id" durch "name" ersetzt. Bei beiden funktioniert es nicht. Jedesmal erscheint diese Fehlermeldung: "Das Objekt unterstützt diese Eigenschaft oder Methode nicht." Müssen die CSS-Angaben im Tag stehen? Ich weiss echt nicht weiter, bin daher für jeden Rat dankbar.
25. Mai 200421 j also für IE geht das mit document.all.Layer1.style.left = 10; für netscape glaube ich schon document.redLayer.moveBy(10,0); wobei hier das event in einem <a> stehen muss
25. Mai 200421 j Funktioniert!!! Vielen Dank! :uli zeig ma bitte die source bzw die site zum online anschauen
25. Mai 200421 j Autor Online ist die noch lange nicht. Dauert noch. Hier der Code: HTML <div id="Layer1" class="pos1"></div> <div id="Layer2" class="pos2" onClick="wechsel_2()"> <font class="font_1">Home</font> </div> <div id="Layer3" class="pos3" onClick="wechsel_3()"> <font class="font_1">META-Tags</font> </div> [/PHP] CSS [PHP] .pos1 { position:absolute; width:25px; height:550px; z-index:1; left: 20px; top: 10px; background-color:#66ccff; border-style:none; } .pos2 { position:absolute ; width:150px; height:20px; z-index:2; left: 5px; top: 30px; background-color:#000099; border-style:none; vertical-align:bottom; text-indent:10px; } .pos3 { position:absolute ; width:150px; height:20px; z-index:2; left: 5px; top: 60px; background-color:#000099; border-style:none; vertical-align:bottom; text-indent:10px; } JavaScript function wechsel_2() { document.all.Layer2.style.left = 20; document.all.Layer3.style.left = 5; document.all.Layer4.style.left = 5; } function wechsel_3() { document.all.Layer2.style.left = 5; document.all.Layer3.style.left = 20; document.all.Layer4.style.left = 5; }[/PHP] Einige Probleme gibt es allerdings noch: Ich möchte auch die Hintergrundfarbe ändern. [color=Blue] document.all.Layer2.style.background-color = "#66ccff";[/color] funktioniert nicht.
25. Mai 200421 j Autor Hintergrund ändern funktioniert jetzt. Lösung: document.all.Layer3.style.backgroundColor = '#000099';
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.