/ 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
Lidt javascript og css
Fra : riwen@ofir.dk


Dato : 05-05-02 00:37

Hejsa

Jeg vil gerne tilgå stylesne width og height for et layer jeg har defineret.

Jeg har forsøgt med
document.getElementById(layerName).style.width
og
document.getElementById(layerName).style.height

Men det ser ikke ud til at virke ? Hvordan tilgår jeg så disse ?

Jeg vil gerne gøre sådan at når man trykker på en knap køre en while løkke
der gradvist gør layeret større.


Håber I kan hjælpe


m v h
Ronni
rofe@mailme.dk




 
 
Jakob Andersen (05-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 05-05-02 01:31

<riwen@ofir.dk> wrote in message news:ab1rbd$jjq$1@sunsite.dk...
> Jeg har forsøgt med
> document.getElementById(layerName).style.width
> og
> document.getElementById(layerName).style.height
>
> Men det ser ikke ud til at virke ? Hvordan tilgår jeg så disse ?

Hvilken browser bruger du. Hvis du bruger NN6+, Mozilla, IE5+ eller Opera3+
så virker dette:

<a href="#" onclick="document.getElementById('foo').style.width = 400;">
Rul ud til 400 pixels
</a>
<div id="foo" style="width:200px;height:10px;background-color:green;">
&#160;
</div>

--
Jakob Andersen



Stig Nygaard (05-05-2002)
Kommentar
Fra : Stig Nygaard


Dato : 05-05-02 08:12

Hej !


Jakob Andersen wrote:
> Hvilken browser bruger du. Hvis du bruger NN6+, Mozilla, IE5+ eller Opera3+
> så virker dette:
> <a href="#" onclick="document.getElementById('foo').style.width = 400;">
> Rul ud til 400 pixels
> </a>
> <div id="foo" style="width:200px;height:10px;background-color:green;">
> &#160;
> </div>

Bør måske lige gøre opmærksom på at W3C DOM standarden siger der skal
enheder på når du sætter style-attributterne. De fleste browsere
accepterer det dog også uden enheder, men Netscape6.x/Mozilla kræver
enhederne hvis du har valgt en HTML 4 Strict !doctype på din side.
Muligvis kræver IE6 det også i det tilfælde ?

I hvert fald er det mere korrekt at sætte en værdi med:

document.getElementById('foo').style.width = 400+'px';

og når du læser værdien:

a = parseInt(document.getElementById('foo').style.width);


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


Henrik Lynggaard (05-05-2002)
Kommentar
Fra : Henrik Lynggaard


Dato : 05-05-02 13:45

Jakob Andersen wrote:
> <riwen@ofir.dk> wrote in message news:ab1rbd$jjq$1@sunsite.dk...
>
>>Jeg har forsøgt med
>>document.getElementById(layerName).style.width
>>og
>>document.getElementById(layerName).style.height
>>
>>Men det ser ikke ud til at virke ? Hvordan tilgår jeg så disse ?
>
>
> Hvilken browser bruger du. Hvis du bruger NN6+, Mozilla, IE5+ eller Opera3+
> så virker dette:
>
> <a href="#" onclick="document.getElementById('foo').style.width = 400;">
> Rul ud til 400 pixels
> </a>
> <div id="foo" style="width:200px;height:10px;background-color:green;">
> &#160;
> </div>


Bemærk dog at disse kald kun returnerer styles som er sat inline, og
ikke dem som er sat via stylesheets.


riwen@ofir.dk (05-05-2002)
Kommentar
Fra : riwen@ofir.dk


Dato : 05-05-02 14:09

hmmm.... jeg kan stadig ikke få det til at virke, så jeg smider lige hele
molevitten


----------------------------------------------------------------------------
------
<html>
<head>
<title> javascript </title>

<style>

body {
margin: 0px;
}

</style>

<script language="Javascript1.2">

function showLayer(layerName)
{
var layerWidth = 400;
var layerHeight = 400;
var interval = 10;

var currentLayerWidth =
parseInt(document.getElementById(layerName).style.width);
var currentLayerHeight =
parseInt(document.getElementById(layerName).style.height);

document.getElementById(layerName).style.visibility = 'visible';


while(currentLayerWidth < layerWidth || currentLayerHeight < layerHeight)
{
if(currentLayerWidth < layerWidth)
{
if((currentLayerWidth + interval) > layerWidth)
{
var i = layerWidth - currentLayerWidth;
currentLayerWidth += i;
}
else
{
currentLayerWidth += interval;
}
}

if(currentLayerHeight < layerHeight)
{
if((currentLayerHeight + interval) > layerHeight)
{
var j = layerHeight - currentLayerHeight;
currentLayerHeight += j;
}
else
{
currentLayerHeight += interval;
}
}
}

document.getElementById(layerName).innerHTML += "<br>: " +
document.all.menu.currentLayerWidth;
}

</script>

</head>
<body>

<center>
<a href="javascript:showLayer('menu');">Vis menu</a>
</center>

<div id="menu" style="position: absolute; top: 10px; left: 10px; width: 0px;
height: 0px; background-color: #efefef; visibility: hidden;">
Hej med dig
</div>

</body>
</html>
----------------------------------------------------------------------------
------

Håber I kan finde rundt i det og evt finde fejlen, for hos mig sker der
ingenting.

/Ronni



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