私はJavaScriptで宇宙inviderを作成したいと思います:Javascriptを:翻訳アニメーションエラー
私は宇宙船の位置を取得する機能を持っている:getstylevaissをし、それが(左マージン)、それをバック返し、私はそのようにこの機能をmissilを配置できます。
function tir(event){
var actusizevaiss= getstylevaiss();
var missile=document.getElementById("missile");
if (event.which==38)
{
missile.style.marginLeft=actusizevaiss+"px";
missile.style.bottom= "100px";
missile.style.display="block"; // it was "none" before
missile.style.position="absolute";
while (parseInt(missile.style.bottom)<800) // while we are into the container
{
var animation = setInterval(tirer(),6000);
}
clearInterval(animation);
}
}
function getstylevaiss(){
var vaiss= document.getElementById("vaisseau");
var sizevaiss= vaiss.currentStyle ||window.getComputedStyle(vaiss);
var actusizevaiss=parseInt(sizevaiss.marginLeft);
return actusizevaiss;
}
ここでは翻訳の機能は、下から一番上にあります:
function tirer(){
var missile=document.getElementById("missile");
var currt= missile.currentStyle ||window.getComputedStyle(missile);
missile.style.bottom= parseInt(currt.bottom)+20+"px";
}
私がを使用すると、setInterval(tirer()、6000);ミサイルは一度に流動的ではありません(これは問題です)。しかし、私がを使用すると、setInterval(tirer、6000);クロムが渇望し、私は無限ループがあると思う。
私はsetIntervalを使用しますが、何が問題なのですか? – unfoudev
私が投稿した記事を読んでください。中心的な問題は、他のことをやっているときにブラウザがあなたに追いついていないことです。したがって、ブラウザがあなたのsetinterval-functionを実行することを決定したときにのみアップデートを取得します。アニメーションフレームを使用すると、それに応じてコードを書くことができます。 :-) –
あなたが私を助けることができれば私は私の機能でそれを使うことはできません – unfoudev