2017-03-03 9 views
-1

画像をクリックするとJavaScriptが止まります。スパイダーgifがクリックされると、splatter.pngに変わりますが、スプラッターは動き続けます。私はそれを理解するためにJavaScriptに慣れていません。あなたが助けてくれれば教えてください。ありがとうございました!JavaScriptを停止する

var dir_h = 'right'; 
 
var dir_v = 'down'; 
 

 
function reset1() { 
 
    clearTimeout(my_time); 
 
    document.getElementById('i1').style.left = "500px"; 
 
    document.getElementById('i1').style.top = "100px"; 
 
    document.getElementById("msg").innerHTML = ""; 
 

 
} 
 

 
function disp() { 
 
    var step = 2; // to Change speed change this step value 
 
    //alert(dir); 
 

 
    var y = document.getElementById('i1').offsetTop; 
 
    var x = document.getElementById('i1').offsetLeft; 
 
    if (x >= 900) { 
 
    dir_h = 'left'; 
 
    } 
 
    if (x <= 400) { 
 
    dir_h = 'right'; 
 
    } 
 
    if (dir_h == 'right') { 
 
    x = x + step; 
 
    } else { 
 
    x = x - step; 
 
    } 
 

 
    if (y >= 500) { 
 
    dir_v = 'up'; 
 
    } 
 
    if (y <= 100) { 
 
    dir_v = 'down'; 
 
    } 
 

 
    if (dir_v == 'down') { 
 
    y = y + step; 
 
    } else { 
 
    y = y - step; 
 
    } 
 

 
    document.getElementById('i1').style.top = y + "px"; // vertical movment 
 
    document.getElementById('i1').style.left = x + "px"; // horizontal movment 
 

 
    ////////////////////// 
 
} 
 

 
function timer() { 
 
    disp(); 
 
    var y = document.getElementById('i1').offsetTop; 
 
    var x = document.getElementById('i1').offsetLeft; 
 
    document.getElementById("msg").innerHTML = "X: " + x + " Y : " + y 
 
    my_time = setTimeout('timer()', 12); 
 
}
<html> 
 

 
<head> 
 
    <title>Spider Splat Test</title> 
 

 
    <script src="spider.js"></script> 
 

 

 
</head> 
 

 
<body> 
 
    <img name="myButton" src="spider-animated-1.gif" id='i1' onClick="document.myButton.src='splatter.png';" onClick="document.myButton.src='spider-animated-1.gif';" style="position:absolute; left: 500; top: 100;"> 
 

 
    <br><br><br><br> 
 

 
    <input type=button onClick=timer() value='Start'> 
 
    <input type=button onClick=reset1() value='Reset'> 
 
    <div id='msg'></div> 
 

 
</body> 
 

 
</html>

+1

より快適になるよう、私は速度を減少"keywork –

+0

私は少しの例を見せてくれますか? Javascriptは私の強い訴訟ではありません。 –

+0

'onclick'関数で' reset1() 'を呼び出します。 – Barmar

答えて

0

クモのためonclickコードでのリセット機能を呼び出します。

<img name="myButton" src="spider-animated-1.gif" id='i1' onclick="reset1(); document.myButton.src='splatter.png';" style="position:absolute; left: 500; top: 100;"> 

また、同じ要素内に2つの属性を持つことは意味がありません。

0

AFAIUあなたが必要とするすべては、画像上のonClickをajustingさ:

var dir_h = 'right'; 
 
var dir_v = 'down'; 
 

 
function reset1() { 
 
    clearTimeout(my_time); 
 
    document.getElementById('i1').style.left = "500px"; 
 
    document.getElementById('i1').style.top = "100px"; 
 
    document.getElementById("msg").innerHTML = ""; 
 

 
} 
 

 
function disp() { 
 
    var step = 1; // to Change speed change this step value 
 
    //alert(dir); 
 

 
    var y = document.getElementById('i1').offsetTop; 
 
    var x = document.getElementById('i1').offsetLeft; 
 
    if (x >= 900) { 
 
    dir_h = 'left'; 
 
    } 
 
    if (x <= 400) { 
 
    dir_h = 'right'; 
 
    } 
 
    if (dir_h == 'right') { 
 
    x = x + step; 
 
    } else { 
 
    x = x - step; 
 
    } 
 

 
    if (y >= 500) { 
 
    dir_v = 'up'; 
 
    } 
 
    if (y <= 100) { 
 
    dir_v = 'down'; 
 
    } 
 

 
    if (dir_v == 'down') { 
 
    y = y + step; 
 
    } else { 
 
    y = y - step; 
 
    } 
 

 
    document.getElementById('i1').style.top = y + "px"; // vertical movment 
 
    document.getElementById('i1').style.left = x + "px"; // horizontal movment 
 

 
    ////////////////////// 
 
} 
 

 
function timer() { 
 
    disp(); 
 
    var y = document.getElementById('i1').offsetTop; 
 
    var x = document.getElementById('i1').offsetLeft; 
 
    document.getElementById("msg").innerHTML = "X: " + x + " Y : " + y 
 
    my_time = setTimeout('timer()', 12); 
 
}
<html> 
 

 
<head> 
 
    <title>Spider Splat Test</title> 
 

 
    <script src="spider.js"></script> 
 

 

 
</head> 
 

 
<body> 
 
    <img onClick=reset1() name="myButton" src="spider-animated-1.gif" id='i1' style="position:absolute; left: 500; top: 100;"> 
 

 
    <br><br><br><br> 
 

 
    <input type=button onClick=timer() value='Start'> 
 
    <input type=button onClick=reset1() value='Reset'> 
 
    <div id='msg'></div> 
 

 
</body> 
 

 
</html>

我々のテストは、あなたが常にリターン」でメソッドを終了することができ

関連する問題