Avatar billede urbanrebel Nybegynder
04. januar 2001 - 23:24 Der er 3 kommentarer og
1 løsning

Netscape DOM+strings

<html>
<head>
<script>

/*
  Jeg vil gerne have den blå box til at se ud og opføre sig som den røde!
  Først give den de rigtig blockElement egenskaber istedet for inline som nu!
  Den blå box skal tildelles koordinaterne 100,100 og dimensionerne 100X100px
  Og når jeg kan lave et layer på normal vis uden indhold men ikke fra scriptet?

  Jeg forstår ikke at jeg kan overføre farveVariablen men ikke de andre???????
  Jeg vil gerne se hvordan man gør med <layer name=> metoden men det skal dog
  oversættes til <div id=> metoden men stadig henvendt til Netscape.V4_DOM
*/

function nsLayer(callsign,a,b,x,y,bC)
{
document.write(\"<layer name=\'\"+callsign+\"\'>123</layer>\");

        eval(\"obj = document.layers.\"+callsign);

obj.width=a;
obj.height=b;
obj.top=x;
obj.left=y;
obj.bgColor=bC;
}

nsLayer(\'abc\',100,100,100,100,\'blue\');

</script>
</head>
<body>

<layer bgcolor=red width=100 height=100 top=200 left=200><layer>

</body>
</html>
Avatar billede atn Nybegynder
07. januar 2001 - 01:37 #1
Hey Keep !

DIV understøtter ikke bgcolor ;o(

Her har du et eksempel på hvorledes du kan gøre det:

<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
<!-- Activate hide //
function nsLayer(callsign,aWidth,bHeight,xLeft,yTop,bC){
    document.write(\'<div id=\'+callsign+\' style=\"width:\'+aWidth+\'px\\; height:\'+bHeight+\'px; top:\'+xLeft+\'px\\; left:\'+yTop+\'px\\; background-color:\'+bC+\'\\;\">Her kommer jeg</div>\');
}
nsLayer(\'abc\',200,200,100,100,\'blue\');
// Deactivate hide -->
</SCRIPT>

Hilsen

Allan Nielsen
Avatar billede olebole Juniormester
07. januar 2001 - 19:08 #2
<ole>
atn >> Du er ude på dybt vand :))
Der er forskel på CSS og JavaScript. Det keep gør, er at han prøver at sætte baggrundsfarven på et <div> med den JavaScript property på layer-objektet, der ganske korrekt hedder \'bgColor\'.
Vil du sætte den direkte i CSS, hedder den i IE\'s DOM \'background-color\' og i NS4\'s \'layer-background-color\' - så deeeeet..................

Problemet er, at NS har en tendens til kun at lade laget blive den størrelse, indholdet byder. Man kan dog lave et lille \'hack\' ved at sætte en border på laget. Jeg kan ikke huske om man kan lave noget style=\"layer-background-color:#ff0000; background-color:#ff0000; border:0px;\" eller om man skal sætte den til \'1px\' og samme farve som baggrunden...eller måske \'display:none;\' ...? Prøv dig lidt frem :)
/mvh
</bole>
Avatar billede urbanrebel Nybegynder
23. januar 2001 - 08:43 #3
olebole>> prøver lige det \'border-trick\'
og vender tilbage senere med nogle point
Avatar billede urbanrebel Nybegynder
23. januar 2001 - 08:55 #4
olebole>> det er da halvdelen af løsningen
i det mindste men det virker kun i bredden
dvs. at jeg stadig kun kan få renderet et
lag med angivet width-specifikationer
Det er jo mindst lige så vigtigt med HEIGT
ihvertfald nu hvor det andet virker for at
få det hele med: er det mig, mangler noget?

<html><head><style>

#abc
{
position:absolute;
top:123px;left:123px;
width:123px;height:123px;
border:1px solid black
}

</style></head><body>

<div id=\"abc\"></div>

</body></html>

det må SQ da kunne lade sig gøre!

- OK jeg må snart erkende at man ikke
kan rendere hverken <layer> eller <div>
uden indhold, men det er heller ikke
store problem; jeg har jo ikke lavet
en transparent_pixel.gif for ingentíng
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester