Also das ist mein Code:clearInterval nicht in Schalter arbeiten()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<style>
html {
overflow: hidden;
}
#demo{
position: relative;
}
</style>
</head>
<body>
<input type="text" onkeypress="Snake(event)">
<p id="demo" style="left: 10px;">--></p>
<script>
function Snake(event) {
var x = event.which;
switch (x) {
case 119: /*forward(w)*/
break;
case 115: /*back(s)*/
break;
case 97: document.getElementById("demo").style.left = "10px";
clearInterval(int);
break;
case 100: var y = document.getElementById("demo").style.left; y = y.replace("px", ""); y = parseInt(y);
var int = setInterval(function() {
y += 10;
var z = y.toString();
document.getElementById("demo").style.left = z + "px";
}, 1000);
break;
}
}
</script>
</body>
</html>
Es funktioniert ziemlich gut, wenn i d (Unicode = 100) tippen, aber wenn ich eine (Unicode = 97) drücken es geht zurück zu 10px, dann geht es weiter von wo es ging. (mit dem d). Wahrscheinlich gibt es ein Problem mit clearInterval().
Zuerst tippen Sie Unicode = 100 und dann 97 richtig? – maheshiv
@maheshiv ja, zuerst 100 und dann 97 – blackbear2014