![](/img/trans.png)
[英]How to read simultaneously two text files using HTML5 and Javascript
[英]HTML5 click is sent to two buttons simultaneously
这与我先前的问题有关,该问题与单击按钮时移动简笔画有关。
新的问题是将单击同时发送给两个按钮。
左右按钮一切正常。 顶部和底部拧紧。
<!DOCTYPE html>
<html>
<style>
#stage{
width: 100px;
height: 100px;
position: relative;
border-style: dashed;
border-color: gray;
border-width: medium;
}
#actor{
width: 13px;
height: 15px;
position: absolute;
left: 0;
top: 0;
background-image: url("E:/Website Projects/man.PNG");
-webkit-transition: all 2s ease-out 0s;
-moz-transition: all 2s ease-out 0s;
transition: all 2s ease-out 0s;
}
</style>
<body>
<div id="stage">
<div id="actor"></div>
</div>
<div>
<button class="control" id="top">TOP</button> <br>
<button class="control" id="left">LEFT</button> <button class="control" id="right">RIGHT</button> <br>
<button class="control" id="down">DOWN</button>
</div>
</body>
<script>
var vertical = 0;
var horizontal = 0;
var shift = 5;
var top = document.querySelector("#top");
var left = document.querySelector("#left");
var right = document.querySelector("#right");
var down = document.querySelector("#down");
top.addEventListener("click",moveTop,false);
left.addEventListener("click",moveLeft,false);
right.addEventListener("click",moveRight,false);
down.addEventListener("click",moveDown,false);
function moveTop(){
var actor = document.querySelector("#actor");
if(vertical>0){
--vertical;
actor.style.top = shift*vertical + "px";
console.log("TOP " + "VERTICAL: " + vertical);
}
}
function moveDown(){
var actor = document.querySelector("#actor");
if(vertical<17){
++vertical;
actor.style.top = shift*vertical + "px";
console.log("DOWN " + "VERTICAL: " + vertical);
}
}
function moveRight(){
var actor = document.querySelector("#actor");
if(horizontal<17){
++horizontal;
actor.style.left = shift*horizontal + "px";
console.log("RIGHT " + "HORIZONTAL: " + horizontal);
}
}
function moveLeft(){
var actor = document.querySelector("#actor");
if(horizontal>0){
--horizontal;
actor.style.left = shift*horizontal + "px";
console.log("LEFT " + "HORIZONTAL: " + horizontal);
}
}
</script>
</html>
DOWN VERTICAL: 1 floating%20man.html:71
TOP VERTICAL: 0 floating%20man.html:62
这是日志上点击down
。 Top
不起作用,因为它是这样编码的。 仅当vertical
具有非零值时, Top
才能工作。
为什么会这样呢? 怎么解决呢?
标识符top
已经在Web浏览器中使用,并且是指框架集上最顶层的窗口(如果没有框架,则为当前窗口)。 至少在Chrome上,您无法覆盖它。 您必须为按钮引用选择一个新的变量名。
工作版本: http : //jsbin.com/uzanom/1/edit
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.