动态追加内容
Appending content dynamically
我使用javascript在另一个下面显示一系列图表(图形)。Javascript脚本从PHP脚本请求数据,然后绘制图表并显示它。为一个图表获取数据并对其进行渲染并不需要太多时间,但是对于许多图表,时间会累积,这很无聊。我想在准备好时显示第一个图表,然后显示第二个图表等,以便用户看到这些图表如何动态附加到页面上,使页面越来越长。
基本上这是我所拥有的:
<script>
var i=0;
$.getJSON('stats.php', function (data) {
for (chartData in data) {
i++;
var chart = new AmStockChart();
dataSet.dataProvider = chartData;
// etc. etc.
$('#stats').append('div id="chartdiv' + i + '"></div>');
chart.write("chartdiv" + i);
}
});
</script>
<div id="stats"></div>
这会在另一个下面产生大约 10 个图表,但问题是显示大约 3-5 秒的空屏幕,然后一次显示所有图表。如果我将其限制为仅播放一个图形,则显示速度要快得多。当每个图表准备就绪时,最好逐个逐步显示这些图表。
UPD:这是我放置测试数据并在一张图表中循环 20 次的 jsfiddle。
与此类似的一些事情应该会有所帮助.....
var i = 0;
$.getJSON('stats.php', function (data) {
for (chartData in data) {
i++;
setTimeout(function(index,d1){
return function() {
var chart = new AmStockChart();
dataSet.dataProvider = data[d1];
// etc. etc.
$('#stats').append('div id="chartdiv' + index + '"></div>');
chart.write("chartdiv" + index);
}
}(i,chartData), 3000*i);
}
});
这是演示
相关文章:
- jQuery动态使用.append()添加输入,但发布表单不是追加数据
- 在函数中定位动态创建的HTML元素(用于追加事件 - 而不是点击!)jQuery
- 存储对追加动态添加的元素的引用
- 在追加一行并调用其中的时差函数时生成动态id
- 单击按钮上的添加/追加动态数据库(SQL)选择框
- 在html标记中动态追加文本
- 动态追加表行时,列切换不起作用
- 从动态追加的子元素中选择一个元素
- 如何使用 SetTimeout,根据动态追加时间删除动态追加的元素
- 在 HTML 中动态追加 Jquery
- 如何将动态追加元素的多个值存储到单个 var 中,然后检索到函数中
- 选择不追加在动态添加的行上的元素选项
- 拖放区将动态属性追加到 #dz 删除
- Jquery:动态追加到context.childNodes[4]不起作用
- 动态追加内容
- 确保追加的行始终是表中由动态创建的行组成的最后一行..detach().
- JQuery 不会动态追加 html 元素
- 如何在动态表中追加 CSS 值
- jQuery insertBefore,追加动态创建的元素
- 如何定义函数在点击,元素后追加动态或(setTimeInterval)