Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果时间太短,设置间隔将不起作用_Javascript_Css_Setinterval - Fatal编程技术网

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示例。如果你开始为不同的事件使用不同的计时器,我担心在你开始工作之前,它会变得一团糟。