2015-10-21 64 views
0

我想在加載dygraphs圖時顯示一個微調(從spin.js)。到目前爲止,它的工作,但我不能讓它自旋圖像顯示在圖表呈現的div。如果我爲我的旋轉使用另一個空的div容器('testdiv') - 一切都很好。在加載圖表時顯示旋轉圖像

這裏我的代碼:

<input type="radio" id="r1" name="radiogroup" value="2012" checked="checked" />2012 
<input type="radio" id="r2" name="radiogroup" value="2013" />2013 

<div id="graph1" style="width:700px; height:400px;"></div> 
<div id="testdiv"></div> 

<script type="text/javascript"> 

$(document).ready(function() { 

    $("input[name=radiogroup]:radio").click(function() { 
    var target = document.getElementById('testdiv'); 
    var spinner = new Spinner().spin(target); 

    var year = $(this).val() 

    var g1 = new Dygraph(
     document.getElementById("graph1"),year+".csv", 
     { } 
    ); 

    g1.ready(function() { 
     spinner.stop(); 
    }); 
    }); 

    $("input:radio[name=radiogroup][value=2012]").click(); 
}); 

</script> 

所以,如果我改變這一行到div 「graph1」 它停止工作:

var target = document.getElementById('graph1'); 

見琴: http://jsfiddle.net/hp4t8hap/

+0

難道你不能只把微調div放在'#graph1' div的頂部嗎?一旦你創建了Dygraph對象,'#graph1'就是它的div。它可以做任何喜歡的事情。 – danvk

回答

0

我不知道是否是最好的主意,但我使用了drawCallback函數,現在如果它是第一個回調函數:

drawCallback: function(dygraph, isInitial) { if(isInitial) $("#loading").slideUp(function() { $("input[type='checkbox']").removeAttr("readonly"); canLoadData = true; $("button").removeAttr("disabled"); $("button > i").remove(); }); },