Gå til innhold

JS hvorfor virker ikke dette? nybegynner


Anbefalte innlegg

Hei! Jeg har nettopp begynt med JavaScript. Jeg merker at det er veldig ustabilt, men jeg vil ikke bruke jQuery, fordi jeg vil lære JavaScript.

Dette er en test. Jeg skal bare flytte en div til den er 200px left, for så å snu igjen, men dette lar seg nok ikke gjøre så enkelt... Hvorfor virker ikke dette?

koden i head:

 

<script type="text/javascript">

function set(){

alert(393939);

var count = 0;

var t;

var Repeat = false;

var TimerOn = false;

var acc = 0.1;

var fri = 0.98;

var speed = 0;

var x = /*parseInt(document.getElementById("daDiv").style.left)*/0;

var goingLeft = true;

}

function repeat(){

t = setTimeout("repeat();",100/3);

if(TimerOn){

count +=1/3;

count = (Math.round(count*10))/10;

speed*=fri;

speed+=acc;

x+=speed;

document.getElementById("myInput").value = Math.round(x) + " pixels left in a speed of "+(Math.round(speed*30))+" pixels/sec!";

document.getElementById("daDiv").style.left = x+"px";

if(parseInt(document.getElementById("daDiv").style.left)>=200){

goingLeft=false;

}

if(parseInt(document.getElementById("daDiv").style.left)<=1){

goingLeft=true;

}

if(goingLeft){

speed+=acc;

}

if(!goingLeft){

speed-=acc;

}

}

}

function startRepeat(){

if(!Repeat){

repeat();

Repeat = true;

}

}

function startTimer(){

TimerOn = true;

}

function stopTimer(){

TimerOn = false;

 

}

</script>

 

Koden i body:

 

<form>

<input class="btn" type="button" value="Start Counting!" onClick="startTimer();"/>

<input type="text" id="myInput"/>

<input class="btn" type="button" value="Stop Counting!" onClick="stopTimer();"/>

</form>

<div id="daDiv">

<h1>This is my div!</h1>

<p>

JavaScriptJavaScriptJavaScriptJavaScriptJavaScript<br />

JavaScriptJavaScriptJavaScriptJavaScriptJavaScript<br />

JavaScriptJavaScriptJavaScript!

</p>

</div>

<script type="text/javascript">

startRepeat();

</script>

 

Håper dere kommer med forslag på feil! :roll::yes:

Lenke til kommentar
Videoannonse
Annonse

Limte inn koden i en tekstfil å kjøre opp FF for å sjekke, da så jeg på feilmeldingene at du bruker lokale variabler i set() funksjonen også i andre funksjoner. For at dette skal fungere må du deklarere variablene som globale (altså utenfor set() funksjonen.

 

Når jeg gjorde det kjørte scriptet, men ser ikke helt at det gjør noe. Gidder heller ikke lese koden, for jeg går å legger meg nå :)

 

var Repeat = false;
var TimerOn = false;
var count = 0;
var speed = 0;
var acc = 0.1;
var fri = 0.98;
var x = /*parseInt(document.getElementById("daDiv").style.left)*/0;
var goingLeft = true;

function set(){
alert(393939);
count = 0;
var t;
Repeat = false;
TimerOn = false;
acc = 0.1;
fri = 0.98;
speed = 0;
x = /*parseInt(document.getElementById("daDiv").style.left)*/0;
goingLeft = true;
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...