Avatar billede kristoffer_o Nybegynder
26. juli 2005 - 12:44 Der er 4 kommentarer og
1 løsning

document.getElementById().style.bottom returnerer ikke noget

Hej

Hvordan kan det være, at document.getElementById('notice').style.bottom i nedenstående eksempel ikke returnerer noget?

Hvordan ændrer jeg f.eks. bottom værdien så den hæver sig 10px timeouter 1 sek og dernæst hæver sig 10px til osv.

<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title></title>
<style type="text/css">

.not
{
display:block;
position: absolute;
bottom: -200px;
right: 0px;
}

</style>

<script type="text/javascript">

function showNotice()
{
alert(document.getElementById('notice').style.bottom);
}
</script>
</head>

<body scrolling="no">
<a href="#" onClick="showNotice();">klik</a>
<div id="notice" class="not"><img src="mail.gif" alt="" /></div>

</body>
</html>
Avatar billede busschou Praktikant
26. juli 2005 - 12:57 #1
hmm den kunne jeg også godt tænke mig svaret på
For det virker hvis den styles direkte i tag´et
Så spørgsmålet er om det måske skal tilgåes anderledes når det er styles gennem en class? :o/
Avatar billede fennec Nybegynder
26. juli 2005 - 12:59 #2
Du skal style direkte, ellers er det ikke elementet der har stylet men classen:

<!doctype html public "-//w3c//dtd html 3.2 final//en">
<html>
<head>
<title></title>
<style type="text/css">

.not
{
display:block;
position: absolute;
bottom: -200px;
right: 0px;
}

</style>

<script type="text/javascript">
setTimeout("showNotice()",1000)
setTimeout("showNotice()",2000)
setTimeout("showNotice()",3000)
setTimeout("showNotice()",4000)
setTimeout("showNotice()",5000)

function showNotice()
{
//alert(document.getElementById('notice').style.bottom);
tmp = parseInt(document.getElementById('notice').style.bottom);
tmp += 10
document.getElementById('notice').style.bottom = tmp
}
</script>
</head>

<body scrolling="no">
<a href="#" onClick="showNotice();">klik</a>
<div id="notice" class="not" style="bottom: -200px;"><img src="http://www.google.dk/images/hp0.gif" alt="" /></div>

</body>
</html>
Avatar billede fennec Nybegynder
26. juli 2005 - 13:00 #3
hvis det skal være helt rigtig skal:
document.getElementById('notice').style.bottom = tmp

være
document.getElementById('notice').style.bottom = tmp+"px"
Avatar billede kristoffer_o Nybegynder
26. juli 2005 - 13:04 #4
Mange tak, det virker. Smid et svar så du kan få point.
Avatar billede fennec Nybegynder
26. juli 2005 - 13:10 #5
setTimeout kan laves smartere, hvis der er nogle kriterier for hvornår den skal stoppe, men da jeg ikke kendte dem, kunne jeg ikke lave det :(

.o) <-- One Eyed Jack
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