我正在尝试在非常密集的JavaScript 期间创建一个加载栏,其中构建并填充了一些相当重的3d数组.在用户单击按钮之前,此加载栏必须保持为空.
无论我是否正在使用,都会发生冻结-webkit-transition
(此应用程序可以是chrome独占的,在我的情况下不需要跨浏览器).
寻求简洁我已经建立了这样的酒吧......
<div id="loader">
<div id="thumb">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
...然后在主for
循环的各个阶段尝试增加该条:
for(i = 0; i < 5 ; i++){
document.getElementById('thumb').style.width = i*25 + '%';
//More Code
}
Run Code Online (Sandbox Code Playgroud)
问题是在JavaScript完成之前,所有内容都会冻结.我在Stack Overflow上发现了类似的问题,在javascript计算时使用CSS动画,并在评论中找到并考虑和/或尝试了以下内容:
网络工作者
不要认为它会工作,因为我的剧本是填充物和含有根据功能的构造数组这个网站是行不通的
jQuery的
不是一个选项,我不能在我的应用程序中使用外部库 - 无论如何,仅仅为加载栏导入整个库似乎有点像矫枉过正......
关键帧
这很有希望,我试过了,但最后它也冻结了,所以没有快乐
timeOut()
小号
想到这一点,但由于装载栏的目的是减少挫折感,增加等待时间似乎适得其反
我很高兴在这个阶段有任何增加的条,即使它不顺利!我很确定这是一个不仅仅是我的问题 - 也许有人有一个有趣的解决方案?
PS:我发布这个作为一个新问题,而不是添加到引用的问题,因为我特别寻求JavaScript(而不是jQuery)的帮助,并希望我能在宽度上使用转换(!=动画) .
我正在使用 IndexedDB 在 Chrome 中保存游戏数据。
一个普通的游戏大约是 4MB。保存一些游戏,然后删除它们后,开发控制台的“资源”选项卡显示我的 indexedDB 为空,正如预期的那样,但是如果我转到内容设置,“Cookie 和站点数据”它显示我大约 12MB 作为 indexedDB磁盘上的大小。
这是在刷新甚至重新启动Chrome 之后。以下是我的删除代码,当我删除时我获得了成功,并且对旧数据的查询不返回任何内容,正如预期的那样。
database.indexedDB.deleteGame = function(nameIn){
var db = database.indexedDB.db;
var trans = db.transaction(["saves"], "readwrite");
var store = trans.objectStore("saves");
var wipeSlate = store.delete(nameIn);
wipeSlate.onsuccess = function(e) {
console.log("Old game wiped");
};
wipeSlate.onerror = function(e) {
console.log("I don't think the old game existed..." + e);
};
};
Run Code Online (Sandbox Code Playgroud)
我已经检查了以下问题(搜索结果也没有显示任何有希望的东西):
但是他们都没有处理我的问题,非常感谢任何帮助。
我有一个带有2个值的2D数组,我想用一条小信息打印差异.
var array = [[0,2],[3,4]];
console.log(array[0][1]-array[0][0]) //prints '2'
console.log(array[0][1]-array[0][0] + ' is the number') //prints '2 is the number'
console.log('The number is' + array[0][1]-array[0][0]) //prints 'NaN'
console.log('The number is ' + parseInt(array[0][1]-array[0][0], 10)) //prints 'The number is 2'
Run Code Online (Sandbox Code Playgroud)
为什么我需要在结果之前parseInt()
打印一条消息,但是在结果之后打印文本,或者仅仅是结果打印,是否可以?