作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一些问题:
我有一个资源消耗大的操作(将元素生成到 DOM 中)。之前都是在start的时候才调用,但是当生成的元素很多的时候,页面就卡了几秒,元素无法点击等等。
所以我放了一个全屏显示元素生成的进度。但是浏览器(Ubuntu 14.04 上的 Chromium)以某种方式无法呈现进度。
类似代码(因为我的太长贴不上):
function generate() {
var $content = $('#content'), $progress = $('#progress'), count = 0;
for(var x = 1; x < 100; x++) {
for(var y = 1; y < 100; y++) {
$content.append('<span>' + x + '-' + y + '</span>'); // adding an element into DOM
$progress.html('Generated elements: ' + count++ );
}
}
元素生成正确,但生成元素的数量没有变化(保持为 0,这是 HTML 代码中的默认值)。
有没有办法强制浏览器重新绘制 $progress
元素?
最佳答案
这是未经测试的,但应该让你非常接近你想要的。
function generate() {
var $content = $('#content'), $progress = $('#progress'), count = 0;
for(var x = 1; x < 100; x++) {
for(var y = 1; y < 100; y++) {
(function(x, y) {
setTimeout(function() {
$content.append('<span>' + x + '-' + y + '</span>');
$progress.html('Generated elements: ' + count++ );
}, Math.min(x + y, 100));
})(x, y);
}
}
}
关于javascript - 在资源昂贵的操作中强制重绘元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24195070/
我正在阅读 MongoDB,并试图了解它的最佳用途。我没有看到明确答案的一个问题是哪些操作便宜或昂贵,以及在什么条件下。 你能帮忙澄清一下吗? 谢谢。 最佳答案 人们经常声称 mongodb 的写入速
我正在寻找一个主要来源(或一个非常好的解释)来支持在为 iPhone 编写软件时使用 autorelease 是危险的或过于昂贵的说法。 许多开发者都提出了这种说法,我什至听说 Apple 不推荐它,
我意识到这离微优化领域太远了,但我很想知道为什么调用 DateTime.Now 和 DateTime.UtcNow 如此“昂贵”。我有一个示例程序,它运行几个场景来做一些“工作”(添加到一个计数器)并
我是一名优秀的程序员,十分优秀!