【发布时间】:2017-02-15 01:41:15
【问题描述】:
我目前正在尝试将计数器动画添加到单击我创建的圆环图的特定切片后呈现的值,计数器将计数到附加到该特定切片的数据值,但是动画是从中间数据可以看出,对于较大的数字来说非常慢。
我想知道如何加快动画速度,以及如何将值显示为带小数的双精度值,现在当您将鼠标悬停在图表的切片上时,工具提示会显示正确的值,例如 1399,99,但图表中心的计数器将改为 1400。
$(function() {
// Create the chart
addLabel = function(point) {
$('.cLabel').remove();
var i = 0,
text = '<span style="color: #323232; font-size: 14px;">' + point.name + '</span><br/>' + '<span style="font-size: 16px; color: #323232;">kr ' + point.subtotal + ' / måned</span><br/>' + '<span style="font-size: 14px; color: #323232;">' + point.y + '</span><br/>',
chart = point.series.chart,
renderer = chart.renderer;
chart.renderer.label(text, chart.chartWidth / 2.02, chart.chartHeight / 2.14).attr({
'text-anchor': 'middle',
}).addClass('cLabel').add();
var intervalsubtotal = setInterval(function() {
if (i < point.subtotal) {
i++;
$('.cLabel')[0].lastChild.lastChild.previousSibling.innerHTML = 'kr ' + i + ' / måned';
} else {
clearInterval(interval);
}
}, 10 / point.subtotal)
var j = 0;
var intervalusers = setInterval(function() {
if (j < point.y) {
j++;
$('.cLabel')[0].lastChild.lastChild.innerHTML = 'Antal brugere: ' + j;
} else {
clearInterval(interval);
}
}, 500 / point.y
)};
- 动画太慢了
- 不显示带小数的值(双精度)
- 当您单击另一个值时,如果计数器已经在计数,则计数器开始出现故障(可能会随着动画速度的提高而修复)
【问题讨论】:
-
好吧,从动画开始,我建议使用具有不同缓动样式的 jQuery 函数。这也将解决您的第三个问题,因为您可以在开始新动画之前停止这些动画。一些例子:stackoverflow.com/questions/2540277/…
-
感谢您的回复,我也是这么想的,但是我不太清楚如何正确实现它
标签: javascript jquery highcharts