var picSize=50;
var maxR = 500/picSize;
var maxC = 500/picSize;
var colorArray = ["brown","blue","red"];
//建立棋盘
function makeBoard(){
var index;
var color;
var s = "";
for(r = 0; r < maxR; r++){
for(c = 0; c < maxC; c++){
index = Math.floor(Math.random() * colorArray.length);
color = colorArray[index];
s = s +
"
color + ";top:"+ r*picSize + "px;left:"+ c*picSize + "px; width:" +
picSize + "px; height:" + picSize + "px;' id = " + 'r' + r + 'c' + c +
">";
}
}
s = "
" + s + "
";
document.getElementById("boarddiv").innerHTML = s;
}
function movediv()
{
//获取 ID 为 Box 的元素
var oBox = document.getElementById("box");
//申明变量
var bLeft = bTop = bRight = bBottom = false;
//setInterval(code, millisec) - 按照指定的周期(以毫秒计)来调用函数
setInterval(
function () {
//获取 box 新的 left 距离
if (bLeft) {
oBox.style.left = oBox.offsetLeft - 50 + "px"
} else if (bRight) {
oBox.style.left = oBox.offsetLeft + 50 + "px"
}
//获取 box 新的 top 距离
if (bTop) {
oBox.style.top = oBox.offsetTop - 50 + "px"
} else if(bBottom) {
oBox.style.top = oBox.offsetTop + 50 + "px"
}
//防止溢出
limit();
},
100);
//当键盘按下的时候
document.onkeydown = function (event) {
//获取 event 对象
var event = event || window.event;
switch (event.keyCode) {
case 37: //键盘中左键(←)
bLeft = true;
break;
case 38: //键盘中左键(↑)
bTop = true;
break;
case 39: //键盘中右键(→)
bRight = true;
break;
case 40: //键盘中下键(↓)
bBottom = true;
break;
}
return false
};
//当松开键盘的时候
document.onkeyup = function (event) {
switch ((event || window.event).keyCode) {
case 37: //键盘中左键(←)
bLeft = false;
break;
case 38: //键盘中左键(↑)
bTop = false;
break;
case 39: //键盘中右键(→)
bRight = false;
break;
case 40: //键盘中下键(↓)
bBottom = false;
break;
}
};
//防止溢出
function limit() {
var oDiv=document.getElementById('alldiv');
//防止左侧溢出
oBox.offsetLeft <= 708 && (oBox.style.left = 708);
//防止顶部溢出
oBox.offsetTop <= 108 && (oBox.style.top = 108);
//防止右侧溢出
(oBox.offsetLeft >= oDiv.offsetWidth-oBox.offsetWidth+708)&&(oBox.style.left=oDiv.offsetWidth-oBox.offsetWidth+708+'px');
//防止底部溢出
(oBox.offsetTop >= oDiv.offsetHeight-oBox.offsetHeight+108)&&(oBox.style.top=oDiv.offsetHeight-oBox.offsetHeight
+108+'px');
}
};