【发布时间】:2010-09-08 06:11:43
【问题描述】:
我目前正在开发一个 Web 应用程序,该应用程序有一个显示单个图表(.png 图像)的页面。在该页面的另一部分,有一组链接,当点击这些链接时,整个页面会重新加载并且看起来与之前完全相同,除了页面中间的图表。
我想要做的是当点击页面上的链接时,页面上的图表会发生变化。这将大大加快速度,因为页面大约有 100kb 大,并且真的不想为了显示这个而重新加载整个页面。
我一直在通过 JavaScript 执行此操作,到目前为止,它可以使用以下代码
document.getElementById('chart').src = '/charts/10.png';
问题是当用户点击链接时,图表可能需要几秒钟的时间才会改变。这会让用户认为他们的点击没有做任何事情,或者系统响应缓慢。
我想要发生的是显示一个微调器/颤动器/状态指示器,代替加载图像时的位置,所以当用户点击链接时,他们知道至少系统已经接受了他们的输入并且正在做关于它的东西。
我尝试了一些建议,甚至使用 psudo 超时来显示微调器,然后快速返回图像。
我的一个好建议是使用以下内容
<img src="/charts/10.png" lowsrc="/spinner.gif"/>
这将是理想的,除了微调器明显小于正在显示的图表。
还有其他想法吗?
【问题讨论】:
-
对于桌面用户,您还可以更改光标以显示正在发生的事情。您必须使用一些 CSS,如
body.waiting{cursor: wait;},然后使用 javascript 切换它:document.body.classList.add('waiting');和图像加载:document.body.classList.remove('waiting');。
标签: javascript jquery dom