Avatar billede adflicto Nybegynder
13. juni 2003 - 16:32 Der er 16 kommentarer

layer animation

kan ikke finde ud af hvorfor det her ikke virker...:

function movemenu()
{
newpos = newpos++;
document.all.john.style.left=newpos;
window.setTimeout("movemenu();",100);
}

nede i body har jeg skrevet:
<a href="#" OnClick="movemenu()" class="normal">move layer</a>

<div id="john" style="width:300;height:100;top:200;left:0;position:absolute;visibility:visible;background-color:red;" class="normal">get ready to go!</div>
Avatar billede adflicto Nybegynder
13. juni 2003 - 16:33 #1
vil gerne have layeret til at flytte sig med 1px/o.1sek tværs over skærmen
Avatar billede roenving Novice
13. juni 2003 - 16:33 #2
<a href="#" OnClick="movemenu()"
Avatar billede Slater Ekspert
13. juni 2003 - 16:36 #3
du kan ikke lægge et tal til newpos når den ikke har en talværdi i forvejen?
Avatar billede roenving Novice
13. juni 2003 - 16:39 #4
Og du må hellere forhindre vinduet i at reloade:

<a href="#" OnClick="movemenu();return false;" class="normal">move layer</a>
Avatar billede adflicto Nybegynder
13. juni 2003 - 16:45 #5
synes ikke rigtigt i hjælper?, måske kunne i skrive hvad jeg skal gøre i stedet for...
(browseren siger at argumentet er ugyldigt)
Avatar billede roenving Novice
13. juni 2003 - 16:47 #6
document.all.john.style.left=document.all.john.style.left+1
Avatar billede adflicto Nybegynder
13. juni 2003 - 16:48 #7
virker stadig ikke...
Avatar billede roenving Novice
13. juni 2003 - 16:50 #8
Hvor får du fejl -- og så gjorde det jo ik' noget du viste hele koden, så kunne det gøres efter !-)
Avatar billede adflicto Nybegynder
13. juni 2003 - 16:51 #9
k, :


<script language="javascript">

function movemenu()
{
document.all.john.style.left=document.all.john.style.left+1
window.setTimeout("movemenu();",100);
}


</script>


<style type="text/css">
.normal {font-size:12px;font-family:verdana;color:ffffff;}
</style>

<body bgcolor="black">
<a href="#" OnClick="movemenu(); return false;" class="normal">mover layer</a>
<div id="john" style="width:300;height:100;top:200;left:0;position:absolute;visibility:visible;background-color:red;"

class="normal">get ready to go!</div>

...sådan... håber du finder en fejl :D
Avatar billede roenving Novice
13. juni 2003 - 16:58 #10
Sådan fik jeg den til at køre ...
<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
newpos=0;
function movemenu()
{
newpos+=1
document.getElementById('john').style.left=newpos
window.setTimeout("movemenu();",100);
}

</SCRIPT>
Avatar billede adflicto Nybegynder
13. juni 2003 - 17:04 #11
tak, det virker (sku self. lige lave det om til IE layer)
men kan du sige mig hvor fejlen var i mit script?
det er sådan set den bedste måde at lære på :D
, takker
Avatar billede roenving Novice
13. juni 2003 - 17:09 #12
getElementById virker også i IE, bare din IE er større end 4 !o]

Uden fejlmeddelelser, men den virkede ikke ...
Avatar billede adflicto Nybegynder
13. juni 2003 - 17:13 #13
k, dvs. hvis det ikke virker første gang man skriver scriptet og man har ledt efter fejl, men det stadig ikke virker. Så sletter man det hele og begynder forfra? :D, ku godt bruge nogle tricks
Avatar billede roenving Novice
13. juni 2003 - 17:14 #14
Du sætter newpos=newpos++

Det betyder oversat til dansk: fyld newpos ind i newpos og læg BAGEFTER 1 til den GAMLE værdi (som jo ikke eksisterer mere !OD )

Du kan få en ide om det, hvis du prøver det her:

i = newpos
newpos = i++;
alert(i+" "+newpos);

i vil altid være en mere en newpos, fordi den tæller op bagefter !
Avatar billede roenving Novice
13. juni 2003 - 17:15 #15
Du violle have klaret den med:

newpos=++newpos

men så er det jo nemmere med:
newpos++
eller
newpos+=1
Avatar billede adflicto Nybegynder
13. juni 2003 - 17:31 #16
ja tang, nu forstår jeg det faktisk lidt bedre :D
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