一种不占用资源的方法,只需停止执行1秒然后执行?
我想要做的是动态地将Google规格从一个值移动到另一个值,从而创建它移动到值而不是跳转到它的效果.
即 -
for(original_value; original_value < new_value; original_value++)
{
data.setValue(0, 1, original_value);
delay half a second here in JavaScript?
}
Run Code Online (Sandbox Code Playgroud)
这是一种可行的方法,还是更接近演示所做的更好的方法?:
如何:动态移动Google Gauge?
不是.Web浏览器中的JavaScript不仅是单线程的,而且它与浏览器呈现共享相同的线程.如果您的JavaScript代码被阻止,那么浏览器UI将在此期间无响应.
在JavaScript中处理基于时间的事件的典型方法是使用异步计时器.John Resig刚才写了一篇有趣的文章,叫做" JavaScript定时器如何工作 ",你可能想看一下.
更新:
您是否正在使用Google Visualization API进行测量?如果是这样,在我看来谷歌已经处理了你想要实现的流畅动画.在Google Code Playground中尝试以下操作(请密切注意网络规格):
function drawVisualization() {
// Create and populate the data table.
var data = new google.visualization.DataTable();
var chart;
data.addColumn('string', 'Label');
data.addColumn('number', 'Value');
data.addRows(3);
data.setValue(0, 0, 'Memory');
data.setValue(0, 1, 80);
data.setValue(1, 0, 'CPU');
data.setValue(1, 1, 55);
data.setValue(2, 0, 'Network');
data.setValue(2, 1, 68);
// Change the value of the Network Gauge after 3 seconds.
setTimeout(function () { data.setValue(2, 1, 20); chart.draw(data); }, 3000);
// Create and draw the visualization.
chart = new google.visualization.Gauge(document.getElementById('visualization'));
chart.draw(data);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
618 次 |
| 最近记录: |