/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Positionering i standards compliant Netsca~
Fra : René Lønstrup \(AKA ~


Dato : 29-11-02 23:50

Hejsa,

Som overskriften antyder har jeg problemer med at positionere elementer
vha. javascript, når Netscape 7 (og Mozilla) er i standards compliant mode
(as in, doctype med URI).
Et lille eksempel:

------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<title>test</title>
<style>
#test {position: absolute; width: 200px; height: 100px; background-color:
black; color: white;}
</style>
<script>
function place() {
document.getElementById("test").style.left = 200;
document.getElementById("test").style.top = 200;
alert("scriptet eksekveres godt nok!");
}
</script>
</head>
<body onload="place();">
<div id="test">
Denne boks burde være placeret i koordinaterne left 200, top 200
hvilket den også er i IE5.5 og Opera7 - men ses den i Netscape7 eller
Mozilla 1, er boksen stadig i øverste venstre hjørne...
</div>
</body>
</html>
------

Hvis jeg skifter doctype linien ud med denne:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- virker det uden problemer....

Forskellen er den samme hvis jeg bruger 'Strict' istedet for
'Transitional'..

Er der en grund til det?


--
René (AKA The Artist Currently Known As Rel7Star)
--- farende rundt i en 1985 Toyota MR2 1,6 16v ---
x===----> http://www.rel7star.dk <----===x



 
 
Stig Nygaard (30-11-2002)
Kommentar
Fra : Stig Nygaard


Dato : 30-11-02 10:49

Hej René


René Lønstrup (AKA Rel7Star) wrote:
> Som overskriften antyder har jeg problemer med at positionere elementer
> vha. javascript, når Netscape 7 (og Mozilla) er i standards compliant mode
> (as in, doctype med URI).

Det er fordi du i standards compliant mode altid skal have enhed på dine
styles-størrelser. F.eks sættes værdier:

document.getElementById("test").style.left = 200 + 'px';

og husk at bruge parseInt() ved læsning (da værdier returneres som
strenge inkl. enhed):

var leftpos = parseInt(document.getElementById("test").style.left);

Husk også at det gælder generelt for styles i standard compliant mode.
Ikke kun i forbindelse med JavaScript.


--
Mvh. Stig
stig[at]rockland[dot]dk
http://www.rockland.dk/
* Bedre (D)HTML ?! --> http://www.rockland.dk/stig/upghtml.html *





René Lønstrup \(AKA ~ (30-11-2002)
Kommentar
Fra : René Lønstrup \(AKA ~


Dato : 30-11-02 13:53

"Stig Nygaard" <stig@REMOVE-THISrockland.dk> wrote in message
news:3de8898f$0$249$edfadb0f@dread15.news.tele.dk
> > Som overskriften antyder har jeg problemer med at positionere
> > elementer vha. javascript, når Netscape 7 (og Mozilla) er i
> > standards compliant mode (as in, doctype med URI).
>
> Det er fordi du i standards compliant mode altid skal have enhed på
> dine styles-størrelser. F.eks sættes værdier:

<SNIP>

> Husk også at det gælder generelt for styles i standard compliant mode.
> Ikke kun i forbindelse med JavaScript.

Okay, tak. Jeg bruger godt nok altid at sætte enheder på i mit CSS, men jeg
troede ikke at det var nødvendigt at gøre det i script også.. Men det er da
altid rart at blive klogere


--
René (AKA The Artist Currently Known As Rel7Star)
--- farende rundt i en 1985 Toyota MR2 1,6 16v ---
x===----> http://www.rel7star.dk <----===x



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste