Javascript 如果时间太短,设置间隔将不起作用
我有一个Javascript 如果时间太短,设置间隔将不起作用,javascript,css,setinterval,Javascript,Css,Setinterval,我有一个setInterval函数,如果增量小于101ms,它就不会执行。定时将超过100ms。我希望能够将函数增加10毫秒offY和strtPos也会变得未定义。我如何使它的工作原理与它的工作原理相同,但却将其递增10毫秒 var-strtPos; var offY; var-offX; var保持=真; var obj=document.getElementById('obj'); var st=函数(){ offY=对象偏移; } var init=setInterval(函数(){ 其
setInterval
函数,如果增量小于101ms,它就不会执行。定时将超过100ms。我希望能够将函数增加10毫秒<当定时低于101ms时,code>offY和strtPos
也会变得未定义。我如何使它的工作原理与它的工作原理相同,但却将其递增10毫秒
var-strtPos;
var offY;
var-offX;
var保持=真;
var obj=document.getElementById('obj');
var st=函数(){
offY=对象偏移;
}
var init=setInterval(函数(){
其他()
}, 101); // 简单的回答是,您需要给offY一个最初没有定义的值,因此我重新排列了代码顶部的变量
最初,offY
仅在~100ms(setInterval(st,100)
)后获取一个值,如果没有未定义的值,其他
函数的计算将无法工作。因此,您需要先执行st
函数,因此需要大于100的值
var-strtPos;
var-offX;
var保持=真;
var obj=document.getElementById('obj');
var offY=对象偏移量;
var st=函数(){
offY=对象偏移;
}
var init=setInterval(函数(){
其他()
}, 10);
var other=函数(){
如果(暂停){
strt();
保持=错误
};
控制台日志(offY)
控制台日志(strtPos)
如果(strtPos-100谢谢,我刚刚打电话给st();在使用setInterval之前一次,这样就解决了我的问题。让我想知道为什么有两个时间间隔。代码感觉不必要的复杂。这是用javascript制作游戏的一个更大项目的一部分。它可能很复杂,也不是很理想,但我没有时间学习java或其他更好的语言我可以理解这一点(也不必费心学习Java;o)),但有一些基本模式,比如游戏循环,也可以找到很好的Javascript示例。如果你开始为不同的事件使用不同的计时器,我担心在你开始工作之前,它会变得一团糟。