2017-01-04 10 views
0

Ich habe nicht Code in Ewigkeiten geschrieben und ich habe beschlossen, eine lustige, kleine Website zu machen, um meine Fähigkeiten zu aktualisieren. Leider bin ich dabei, eine Tontaube zu animieren (ich mache ein interaktives Ding). Ich stecke seit einigen Tagen an diesem Code fest und ich kann mich nicht darum kümmern. Jede Hilfe wird sehr geschätzt.Stuck mit JavaScript-Animation

Hier ist das Segment mein Code, wo ich stecken bin:

var uwifh = 1; 
 
if (uwifh == 1) { 
 
    var screenwidth = screen.width-'px'; 
 
    var screenheight = screen.height-'px'; 
 

 
    function lanceerklei() { 
 
     var e = document.getElementById('clay'); 
 
     e.style.visibility = 'visible'; 
 

 
     var positie_yinit= Math.floor(Math.random*(screenheight/1.7))+50; 
 
     var positie_y; 
 
     var positie_x = 10; 
 
     var paraboolfactor = (Math.floor(Math.random * 50) + 1)/1000; 
 
     var parabooltop = screenwidth/2; 
 
     var snelheid = Math.floor(Math.random*20)+20; 
 

 
     var elke20ms; 
 
     elke20ms= setInterval(function(){ 
 
      positie_x= positie_x += snelheid; 
 
      positie_y= (-1 * paraboolfactor) * (positie_x - parabooltop)^2; 
 
      e.style.left = positie_x + 'px'; 
 
      e.style.top = positie_y + positie_yinit + screenheight + 'px'; 
 
     }, 20); 
 
    }; 
 

 
    window.setTimeout(lanceerklei, 1000); 
 
};
#clay{ 
 
    position: fixed; 
 
    height: 150px; 
 
    width: 150px; 
 
    visibility: hidden; 
 
    z-index: 11; 
 
    top: 10px; 
 
    left: 10px; 
 
}
<img src="http://www.threecountiesclayshoot.co.uk/communities/0/004/013/041/930//images/4619113458.png" id="clay">

Dies ist nicht der gesamte Code Wenn Sie den Rest wollen, werde ich den Rest geben.

Noch einmal jede Hilfe wird geschätzt.

+0

Viele Probleme, nur um es zu starten. Überprüfen Sie, ob https://jsfiddle.net/pL631a3y/ für den Code "arbeiten". – Asken

+0

Es gibt einige ungerade Bits in Ihrem Code. Zuerst 'var uwifh = 1; if (uwifh == 1) {'und das' var screenwidth = screen.width-'px '; 'ist falsch angenommen, dass Sie auf' var screenwidth = screen.width +' px 'zielen; '' '' wird Concat-String, wenn '-' nur versucht, subtrahieren. – GillesC

+0

Mehr folgende @GilesC Kommentar, Zufall ist eine Funktion – Asken

Antwort

0

Ich habe zwei Dinge bemerkt, die in Ihrem Code falsch sind. Erstens können Sie den Operator - nicht verwenden, um beispielsweise "px" von "100px" wegzuschneiden. Wenn Sie wirklich screen.width (oder die Eigenschaft height) verwenden möchten, müssen Sie entweder var screenwidth = screen.width tun, da es sich um einen numerischen Wert und nicht um eine Zeichenfolge handelt.

Die zweite Sache ist, dass Math.random eine Funktion ist und so genannt werden muss Math.random().

Mit diesen Korrekturen kam Ihre Animation zu einer Art Leben und ich denke, die verbleibende Arbeit betrifft Ihre Logik für die Animation.

+0

Vielen Dank für die Antwort, jetzt kann ich mit dem Rest meiner (seltsamen) Schöpfung fortfahren. – MangoBestDancer

+0

Ich werde das fertige Produkt veröffentlichen, wenn ich fertig bin – MangoBestDancer