本文为
H5EDU
机构官方
HTML5培训
教程,主要介绍:
JavaScript强化教程
——DOM编程(两种控制div移动的方法)
第一种
按钮控制
首先 创建两个html按钮和一个div并给div一个样式
input type="button" value="左" id="1">
<input type="button" value="右" id="2">
<div id="3">
div {
width: 100px;
height: 100px;
background-color: bisque;
position: absolute;
left: 100px;
top: 100px;
}
然后在script中获得div和两个按钮
var left = document.getElementById("2");
var right = document.getElementById("1");
var div = document.getElementById("3");
然后添加onclick函数
left.onclick = function () {
}
right.onclick = function () {
}
设置一个变量,控制div的left改变
var x = 100;
当点击按钮时触发
left.onclick = function () {
x=x+10;
div.style.left = x+"px";
}
right.onclick = function () {
x=x-10;
div.style.left = x+"px";
}
源码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div {
width: 100px;
height: 100px;
background-color: bisque;
position: absolute;
left: 100px;
top: 100px;
}
</style>
</head>
<body>
<input type="button" value="左" id="1">
<input type="button" value="右" id="2">
<div id="3">
</div>
<script>
var left = document.getElementById("2");
var right = document.getElementById("1");
var div = document.getElementById("3");
var x = 100;
left.onclick = function () {
x=x+10;
div.style.left = x+"px";
}
right.onclick = function () {
x=x-10;
div.style.left = x+"px";
}
</script>
</body>
</html>
第二种
,键值控制
同样在html中创建div并给其样式
<div id="3">
</div>
<style>
div {
width: 100px;
height: 100px;
background-color: bisque;
position: absolute;
left: 100px;
top: 100px;
}
</style>
在script里面 获得div
var div=document.getElementById("3");
然后声明两个变量控制改变div的left和top
var px=100;
var py =100;
然后获得键值
document.onkeydown(在document文档对象中,按任何键都会触发此函数)
alert中输出的event.keyCode会对应按键时,当前键相应的事件值(即每一个按键对应为一个键值)
document.onkeydown = function(){
alert(event.keyCode);
}
然后通过测试上下左右得到键值,在swich语句中改变div的left和top改变其位置
switch (event.keyCode){
case 37:
px = px-10;
div.style.left = px+"px";
break;
case 38:
py = py-10;
div.style.top = py+"px";
break;
case 39:
px = px+10;
div.style.left = px+"px";
break;
case 40:
py = py+10;
div.style.top = py+"px";
break;
}
源码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div {
width: 100px;
height: 100px;
background-color: bisque;
position: absolute;
left: 100px;
top: 100px;
}
</style>
</head>
<body>
<div id="3">
</div>
<script>
var div=document.getElementById("3");
var px=100;
var py =100;
document.onkeydown = function(){
// alert(event.keyCode);
switch (event.keyCode){
case 37:
px = px-10;
div.style.left = px+"px";
break;
case 38:
py = py-10;
div.style.top = py+"px";
break;
case 39:
px = px+10;
div.style.left = px+"px";
break;
case 40:
py = py+10;
div.style.top = py+"px";
break;
}
}
</script>
</body>
</html>