下面的代码有效,但由于某种原因 $('#chart').fadeTo 回调似乎创建了一个非常奇怪的循环。
function fullViewButton(zoom){
if (zoom == 0){
$('input#fullChart').hide();
} else {
$('input#fullChart').show();
$('input#fullChart').click(function(){
$('#chart').fadeTo(400,0, function(){
showFullChart();
});
$('#chart').fadeTo(400,1);
});
}
基本上,我正在绘制一个显示整体统计数据的图表。用户可以选择他想要查看图表的子集,代码将在同一 div 中重新绘制图表。在这个细节视图中,我打开了一个按钮,让用户返回到整体视图。
此代码一次可以正常工作(从整体图表到详细图表并返回到整体图表)。第二次,当它进入第三步时,它会将整个图表淡入,再次淡出,然后再淡入。第三次,它会这样做三次。第四次,四次。等等。我不知道什么会创建这样的循环!
我试过移动 $('#chart').fadeTo(400,1); 在回调中,这最终会使整个图表的显示时间延长两倍(或三倍或四倍)。这段代码有问题,还是我可能在 showFullChart 中搞砸了?