我试图使一些控制框移动到左,右,上,下.但当我在脚本标签中的所有功能,它得到一个错误(在所有四个onclick
按钮):
函数未在HTMLButtonElement.onclick中定义
在我制作按钮标签的行中。
<html>
<button onclick = "leftmove()" id = "b1"> Left </button>
<button onclick = "rightmove()" id = "b2"> Right </button>
<button onclick = "upmove()" id = "b3"> Up </button>
<button onclick = "downmove()" id = "b4"> Down </button>
<h1 id = "box"></h1>
<style type = "text/css">
#box {
width: 50px;
height: 50px;
background-color: black;
}
<script>
var box = document.getElementById("box");
function leftmove() {
margin += 2;
box.style.marginLeft = margin + "px";
}
var box = document.getElementById("box");
function rightmove() {
margin -= 2;
box.style.marginLeft = margin + "px";
}
var box = document.getElementById("box");
function upmove() {
margin += 2;
box.style.marginTop = margin + "px";
}
var box = document.getElementById("box");
function downmove() {
margin -= 2;
box.style.marginLeft = margin + "px";
}
</script>
</html>
字符串
2条答案
按热度按时间bwntbbo31#
当使用
<script>
标签时,函数和目标标签必须在使用前定义。为了让你的例子工作,你必须分割你的脚本标签,首先定义你的函数,然后在你定义了相应的标签后设置box
变量。同样,margin
变量也不见了,我添加了零,但这可能不是你想要的。工作示例:字符串
关于这个问题,有几点要注意的:
<div>
可能比<h1>
更适合于此框transform(x, y)
而不是margin来移动框dy1byipe2#
我们创建了一些JavaScript变量来间接操作CSS,还实现了其他元素来更好地理解这些动作。
字符串