JavaScript 推箱子怎么加锁,不加锁,会乱跳不正常

Nigger8 发布于 2016/07/31 15:12
阅读 250
收藏 1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>

<html xmlns="http://www.w3.org/1999/xhtml";>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>

</head>

<script type="text/javascript">

var a=0

var lock=false

function txz(n){

/*var b=document.getElementById("hz")

var c=b.style.left

var d=parseInt(c)+50

if(d>=1000){

clearInterval(ks)


}

b.style.left=d+'px'

}

var ks=window.setInterval("txz()",1000)


*/

a=a+50

var b=document.getElementById("hz")

var c=b.style.left

var d=parseInt(c)

if(a>=(n-1)*300){

a=(n-1)*300

clearInterval(ks)}

b.style.left=a+'px'

}


function txy(n){

var b=document.getElementById("hz")

var c=b.style.left

var d=parseInt(c)

a=d-50

if(d<=(n-1)*300){

a=(n-1)*300

clearInterval(ks)

}

b.style.left=a+'px'

}

function txa(h){

ks=window.setInterval(function(){

if(a>(h-1)*300){txy(h)}else{txz(h)}


},50)

}


</script>

<style type="text/css">

*{ padding:0; margin:0;}

.dhz{ width:1000px; height:400px; background:#0F6; margin:0 auto; position:relative;}

.hz{ width:50px; height:50px; background:#FF0; position:absolute;top:125px; left:0px;}


</style>

<body>

<div class="dhz">

<div id="hz" class="hz" style="left:0px;"></div>


</div>

<input type="button" value="0" onmouseover="txa(1)">

<input type="button" value="300" onmouseover="txa(2)">

<input type="button" value="600" onmouseover="txa(3)">

<input type="button" value="900" onmouseover="txa(4)">

<input type="button" value="1200" onmouseover="txa(5)">

</body>

</html>

可以试试看,你速度触发300和1200,就会卡主,之后闪来闪去,要怎么加锁?有的大神说加lock,但是我不知道加到哪里。大神帮帮忙谢谢!大神把改好的代码发上来,我研究研究谢谢!

加载中
0
N
Nigger8
有人吗?
0
iehyou
iehyou
不要用setInterval  用setTimeout实现setInterval  的效果。
梦天126
以前我自己写了个小东西,用setTimeout,循环的,不知道咋弄的,第一次好好地,触发第二次循环之后,就越来越快了。。。也不是按照自己想的那样+1,也不知道是加了几,忘了咋弄的了~~~~
0
iehyou
iehyou

引用来自“iehyou”的评论

不要用setInterval  用setTimeout实现setInterval  的效果。
https://bonsaiden.github.io/JavaScript-Garden/zh/#other
返回顶部
顶部