Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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中的UI?_Javascript_Iphone_Html_Css_Mobile - Fatal编程技术网

在移动应用程序上动态加载图像而不阻塞Javascript中的UI?

在移动应用程序上动态加载图像而不阻塞Javascript中的UI?,javascript,iphone,html,css,mobile,Javascript,Iphone,Html,Css,Mobile,因此,我试图在用户滚动时动态加载javascript中的图像。整个应用程序是脱机的,并且是用HTML和javascript编写的。“滚动”行为是通过CSS3动画完成的 问题是,当我设置image.src=“foo.png”时,它会阻塞UI,直到图像加载完毕。有办法解决这个问题吗?用户界面被阻塞了多长时间?如果是本地的话,我就不会想太多了 无论如何,UI被阻止的原因可能是因为它需要下载图像以确定其大小。如果它不知道图像大小,它将不知道它将如何影响布局 我想做的第一件事是在创建标签后立即使用和高度属

因此,我试图在用户滚动时动态加载javascript中的图像。整个应用程序是脱机的,并且是用HTML和javascript编写的。“滚动”行为是通过CSS3动画完成的


问题是,当我设置image.src=“foo.png”时,它会阻塞UI,直到图像加载完毕。有办法解决这个问题吗?

用户界面被阻塞了多长时间?如果是本地的话,我就不会想太多了

无论如何,UI被阻止的原因可能是因为它需要下载图像以确定其大小。如果它不知道图像大小,它将不知道它将如何影响布局


我想做的第一件事是在创建标签后立即使用和高度属性设置

下载图像不是阻碍因素。它可以使用图像对象下载它,但在onload回调中设置DOM元素的src属性时会导致它被阻止。首先,HTML是本地的,如果是,则没有理由使用onload事件,其次,无论加载速度有多快,图像的加载都会导致渲染器重新计算样式-问题是宽度和高度属性是否允许渲染器跳过此过程?我假设文档高度随着图像的添加而增加,因此渲染器必须弄清楚这是如何改变布局的(即在计算文档高度之前不能滚动)。是的,在这些更改之后,在加载图像时,文档高度只会停顿几毫秒,但仍然很明显。必须做一些不同的事情。文档高度是否随着src属性的设置而增加?如果是这样的话,我会说这是您的问题,因为渲染器必须在将滚动控制权返回给用户之前进行计算。