<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>first</title>
<!--<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>-->
<!--<script src="js/game.js" type="text/javascript"></script>-->
<style>
.box{
position:absolute;
width:50px;
height:50px;
left:0px;
top:0px;
background:#239405;
}
</style>
</head>
<body>
<div id="box" class="box"> </div>
</body>
</html>
<script>
var oDiv = document.getElementById('box');
var end=document.documentElement.clientWidth;
var endy=document.documentElement.clientHeight;
var n=Math.floor((endy-50)/50);
/*for(var x=1;x<3;x++){
moveright(end,x);
}*/
/*moveright(end,1);
moveright(end,2);*/
var i=1;
moveright(end,i);
function moveright(end,i) {
var timer = null;
timer = setInterval(function () {
var speed = (end - oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
//console.log(oDiv.offsetLeft);
if (oDiv.offsetLeft>end-50*(i+0.5)) {
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.left = end-50*i + 'px';
movedown(endy,i);
}
else {
oDiv.style.left = oDiv.offsetLeft + speed + 'px'; //移动DIV
}
// console.log(oDiv.offsetLeft);
}, 30);
}
function movedown(endy,i) {
var timer = null;
timer = setInterval(function () {
var speed = (endy - oDiv.offsetTop) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(endy - oDiv.offsetTop-50*i) <= speed){
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.top = endy-50*i + 'px'; //在停止后填充缝隙。
moveleft(end,i);
}
else {
oDiv.style.top = oDiv.offsetTop + speed + 'px'; //移动DIV
}
}, 30);
}
function moveleft(end,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetLeft-50*i) >= speed) {
oDiv.style.left = oDiv.offsetLeft - speed + 'px';
}
else{
moveup(endy,i);
}
}, 30);
}
function moveup(endy,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetTop) / 60;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetTop-50*i) >= speed) {
oDiv.style.top = oDiv.offsetTop - speed + 'px'; //移动DIV
}
else{
moveright(end,2);
}
}, 30);
}
</script>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>first</title>
<!--<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>-->
<!--<script src="js/game.js" type="text/javascript"></script>-->
<style>
.box{
position:absolute;
width:50px;
height:50px;
left:0px;
top:0px;
background:#239405;
}
</style>
</head>
<body>
<div id="box" class="box"> </div>
</body>
</html>
<script>
var oDiv = document.getElementById('box');
var end=document.documentElement.clientWidth;
var endy=document.documentElement.clientHeight;
var n=Math.floor((endy-50)/50);
/*for(var x=1;x<3;x++){
moveright(end,x);
}*/
/*moveright(end,1);
moveright(end,2);*/
var i=1;
moveright(end,i);
function moveright(end,i) {
var timer = null;
timer = setInterval(function () {
var speed = (end - oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
//console.log(oDiv.offsetLeft);
if (oDiv.offsetLeft>end-50*(i+0.5)) {
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.left = end-50*i + 'px';
movedown(endy,i);
}
else {
oDiv.style.left = oDiv.offsetLeft + speed + 'px'; //移动DIV
}
// console.log(oDiv.offsetLeft);
}, 30);
}
function movedown(endy,i) {
var timer = null;
timer = setInterval(function () {
var speed = (endy - oDiv.offsetTop) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(endy - oDiv.offsetTop-50*i) <= speed){
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.top = endy-50*i + 'px'; //在停止后填充缝隙。
moveleft(end,i);
}
else {
oDiv.style.top = oDiv.offsetTop + speed + 'px'; //移动DIV
}
}, 30);
}
function moveleft(end,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetLeft-50*i) >= speed) {
oDiv.style.left = oDiv.offsetLeft - speed + 'px';
}
else{
moveup(endy,i);
}
}, 30);
}
function moveup(endy,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetTop) / 60;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetTop-50*i) >= speed) {
oDiv.style.top = oDiv.offsetTop - speed + 'px'; //移动DIV
}
else{
moveright(end,2);
}
}, 30);
}
</script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>first</title>
<!--<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>-->
<!--<script src="js/game.js" type="text/javascript"></script>-->
<style>
.box{
position:absolute;
width:50px;
height:50px;
left:0px;
top:0px;
background:#239405;
}
</style>
</head>
<body>
<div id="box" class="box"> </div>
</body>
</html>
<script>
var oDiv = document.getElementById('box');
var end=document.documentElement.clientWidth;
var endy=document.documentElement.clientHeight;
var n=Math.floor((endy-50)/50);
/*for(var x=1;x<3;x++){
moveright(end,x);
}*/
/*moveright(end,1);
moveright(end,2);*/
var i=1;
moveright(end,i);
function moveright(end,i) {
var timer = null;
timer = setInterval(function () {
var speed = (end - oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
//console.log(oDiv.offsetLeft);
if (oDiv.offsetLeft>end-50*(i+0.5)) {
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.left = end-50*i + 'px';
movedown(endy,i);
}
else {
oDiv.style.left = oDiv.offsetLeft + speed + 'px'; //移动DIV
}
// console.log(oDiv.offsetLeft);
}, 30);
}
function movedown(endy,i) {
var timer = null;
timer = setInterval(function () {
var speed = (endy - oDiv.offsetTop) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(endy - oDiv.offsetTop-50*i) <= speed){
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.top = endy-50*i + 'px'; //在停止后填充缝隙。
moveleft(end,i);
}
else {
oDiv.style.top = oDiv.offsetTop + speed + 'px'; //移动DIV
}
}, 30);
}
function moveleft(end,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetLeft-50*i) >= speed) {
oDiv.style.left = oDiv.offsetLeft - speed + 'px';
}
else{
moveup(endy,i);
}
}, 30);
}
function moveup(endy,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetTop) / 60;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetTop-50*i) >= speed) {
oDiv.style.top = oDiv.offsetTop - speed + 'px'; //移动DIV
}
else{
moveright(end,2);
}
}, 30);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>first</title>
<!--<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>-->
<!--<script src="js/game.js" type="text/javascript"></script>-->
<style>
.box{
position:absolute;
width:50px;
height:50px;
left:0px;
top:0px;
background:#239405;
}
</style></head>
<body>
<div id="box" class="box"> </div>
</body>
</html>
<script>
var oDiv = document.getElementById('box');
var end=document.documentElement.clientWidth;
var endy=document.documentElement.clientHeight;
var n=Math.floor((endy-50)/50);
/*for(var x=1;x<3;x++){
moveright(end,x);
}*/
/*moveright(end,1);
moveright(end,2);*/
var i=1;
moveright(end,i);function moveright(end,i) {
var timer = null;
timer = setInterval(function () {
var speed = (end - oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
//console.log(oDiv.offsetLeft);
if (oDiv.offsetLeft>end-50*(i+0.5)) {
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.left = end-50*i + 'px';
movedown(endy-(50*(i-1)),i);
}
else {
oDiv.style.left = oDiv.offsetLeft + speed + 'px'; //移动DIV
}
// console.log(oDiv.offsetLeft);
}, 30);
}
function movedown(endy,i) {
var timer = null;
timer = setInterval(function () {
var speed = (endy - oDiv.offsetTop) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(endy - oDiv.offsetTop-50*i) <= speed){
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.top = endy-50*i + 'px'; //在停止后填充缝隙。
moveleft(end-(50*(i-1)),i);
}
else {
oDiv.style.top = oDiv.offsetTop + speed + 'px'; //移动DIV
}
}, 30);
}
function moveleft(end,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetLeft-50*i) > speed) {
oDiv.style.left = oDiv.offsetLeft - speed + 'px';
}
else{
clearInterval(timer); //当距离小于速度时,让计时器停止
moveup(endy-(50*(i-1)),i);
}
}, 30);
}
function moveup(endy,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetTop) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetTop-50*i) > speed) {
oDiv.style.top = oDiv.offsetTop - speed + 'px'; //移动DIV
}
else{
clearInterval(timer); //当距离小于速度时,让计时器停止
moveright(end-(50*(i-1)),++i);
}
}, 30);
}
</script>
稍微改了改 最后一圈有点错 你自己再看吧。
卧槽 竟然不能标红改动的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>first</title>
<!--<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>-->
<!--<script src="js/game.js" type="text/javascript"></script>-->
<style>
.box{
position:absolute;
width:50px;
height:50px;
left:0px;
top:0px;
background:#239405;
}
</style></head>
<body>
<div id="box" class="box"> </div>
</body>
</html>
<script>
var oDiv = document.getElementById('box');
var end=document.documentElement.clientWidth;
var endy=document.documentElement.clientHeight;
var n=Math.floor((endy-50)/50);
/*for(var x=1;x<3;x++){
moveright(end,x);
}*/
/*moveright(end,1);
moveright(end,2);*/
var i=1;
moveright(end,i);function moveright(end,i) {
var timer = null;
timer = setInterval(function () {
var speed = (end - oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
//console.log(oDiv.offsetLeft);
if (oDiv.offsetLeft>end-50*(i+0.5)) {
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.left = end-50*i + 'px';
movedown(endy-(50*(i-1)),i);
}
else {
oDiv.style.left = oDiv.offsetLeft + speed + 'px'; //移动DIV
}
// console.log(oDiv.offsetLeft);
}, 30);
}
function movedown(endy,i) {
var timer = null;
timer = setInterval(function () {
var speed = (endy - oDiv.offsetTop) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(endy - oDiv.offsetTop-50*i) <= speed){
clearInterval(timer); //当距离小于速度时,让计时器停止
oDiv.style.top = endy-50*i + 'px'; //在停止后填充缝隙。
moveleft(end-(50*(i-1)),i);
}
else {
oDiv.style.top = oDiv.offsetTop + speed + 'px'; //移动DIV
}
}, 30);
}
function moveleft(end,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetLeft) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetLeft-50*i) > speed) {
oDiv.style.left = oDiv.offsetLeft - speed + 'px';
}
else{
clearInterval(timer); //当距离小于速度时,让计时器停止
moveup(endy-(50*(i-1)),i);
}
}, 30);
}
function moveup(endy,i){
var timer = null;
timer = setInterval(function () {
var speed = (oDiv.offsetTop) / 15;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (Math.abs(oDiv.offsetTop-50*i) > speed) {
oDiv.style.top = oDiv.offsetTop - speed + 'px'; //移动DIV
}
else{
clearInterval(timer); //当距离小于速度时,让计时器停止
moveright(end-(50*(i-1)),++i);
}
}, 30);
}
</script>
ipad上可以看到红色标记,电脑不可以. 感谢!