以下のコードは機能しますが、何らかの理由で$('#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にグラフを再描画します。この詳細ビューでは、ユーザーが全体ビューに戻ることができるボタンを表示します。
このコードは一度は正常に機能します(全体的なグラフから詳細なグラフに移動し、全体的なグラフに戻ります)。2回目は、3番目のステップに到達すると、チャート全体をフェードインし、再びフェードアウトし、フェードインします。3回目は、これを3回行います。4回目、4回。など、このようなループを作成するものが何であるかわかりません!
$('#chart')。fadeTo(400,1);を移動してみました。コールバック内では、チャート全体が表示されるまでに2倍(または3倍または4倍)長くかかることになります。このコードに何か問題がありますか、それともshowFullChartで何かを台無しにした可能性がありますか?