iOS Safari Javascript设置超时问题
iOS Safari Javascript setTimeout Issue
我在移动safari上正确执行javascript方法setTimeout()时遇到问题。
我的代码如下:
function addBlock() {
if(i < full) {
$('#box-'+i).removeClass('empty');
$('#box-'+i).addClass('full');
i++;
setTimeout(addBlock, 20);
}
else {
if(fullcheck != Math.round(fullcheck)) {
i = i++;
$('#box-'+i).removeClass('empty');
// $('#box-'+i).addClass('halfbox');
$('#total-count').animate({height: barheight}, 5000);
}
if(usergiven) {
$('#box-'+randbox).css('border', '1px SOLID #FF0000');
$('#box-'+randbox).css('background-color', '#FF0000');
}
}
}
无论我为setTimeout函数提供什么超时值,它似乎总是以相同的速度运行。
这个想法是,它以比每2秒1个更快的速度填充一组块(实际数量应该是每秒50个iirc)。
有人能告诉我为什么移动safari没有正确执行这个功能,或者我做错了什么吗?
谢谢!
关于这个问题,有很多事情很难推理。一个是没有声明的变量数量,或者没有注释的表达式数量(如在fullcheck != Math.round(fullcheck)
.WTF!?中),另一个是该代码的行为方式,而不是您希望它的行为方式。
由于代码不完整且不可运行,所以只能猜测您的意思。我猜你是说代码像现在这样大约在两秒内完成,你希望它在50秒内完成。
如果不知道i
和full
的值,就不可能对正确的超时进行任何计算,所以我不得不猜测你做错了什么。在当前20ms的超时速率下,您将每秒处理大约500行。如果它当前在两秒内运行,则意味着您有4000行。如果它们应该在50秒内填满,你将不得不将超时时间提高到500毫秒。
相关文章:
- iOS Safari Javascript设置超时问题
- Selebyun爬网程序超时问题C#
- 是否从超时内开始间隔是一个问题
- 设置超时功能在 chrome 扩展程序弹出窗口.js问题
- 清除超时的问题
- 加载资源时出现 OpenTok JS 连接超时问题
- 设置超时问题
- 线程休眠和设置超时问题
- 超时时单击动态标签时出现问题
- 正在获取ice候选项收集的超时问题
- 超时和滚动问题
- 会话超时问题
- 在For循环上设置超时/延迟的问题
- 下拉菜单超时问题
- 会话超时有问题
- JQuery超时问题与mouseout函数
- 这个清除超时有什么问题?
- 循环延迟超时问题
- Javascript超时问题
- 节点从 0.2.6 升级到 0.4.7 时出现超时问题.js