-1
私は、このように移動するアニメーションボックスを作成しようとしていました - 開始ボタンのonclick、右、下、左と上。停止ボタンをクリックすると、それが何であっても動きが止まり、開始時に再びクリックされるとバックアップが選択されます。高速無限ループを経由
私はそれが右から左へと左にあったときにうまく動作することができましたが、ループ全体(左→右→下→右→上)を作成しようとすると、問題に直面している。私は間違って何をしていますか?
コード:
var pos = 0;
var pos1 = 0;
var s = document.getElementById("start");
var st= document.getElementById("stop");
s.addEventListener("click",btstart);
st.addEventListener("click",btstop);
var t, t1; /*t and t1 should be global variables so they can be accessed by the btstop function*/
function btstart(){
var box = document.getElementById('box');
t = setInterval(movel, 10);
}
function movel() {
if(pos >= 150) {
t = setInterval(moveb, 50);
}
else {
pos += 1;
box.style.left = pos+'px';
}
}
function moveb(){
if (pos1 >= 150)
{
t = setInterval(mover, 50);
}
else {
pos1 += 1;
box.style.top = pos1+'px';
}
}
function mover() {
if(pos === 0) {
t = setInterval(movet, 50); /*Note: clearing t, not t1. Ends the function/script completely*/
}
else {
pos -= 1;
box.style.right = pos+'px';
}
}
function movet(){
if (pos1 === 0)
{
t = setInterval(movel, 50);
}
else {
pos1 -= 1;
box.style.bottom = pos1+'px';
}
}
function btstop() {
clearInterval(t);
/*clearInterval(t1);*/
}
/*var box = document.getElementById("box");*/
を、現在の位置をチェックして、ボックスを移動するために
setAndMove
を使用して保存します1つの間隔を使用して、問題がどこにあるか – Weedozeジャストコードを追加しました。私はここに新しいです、私は誤ってコードを貼り付ける前に投稿をクリックしました。 –