奇怪的问题Highchart滴答间隔

时间:2014-04-03 12:03:53

标签: javascript jquery highcharts

我不知道我做错了什么或者这是Highcharts中的奇怪问题,其实我有兴趣使用输入框更改x和y轴刻度线,如果它可以更新刻度线间隔而不重绘它的井好的,

以下奇怪的问题对改变没有影响

     var dummy = $('#xint').val(); 
     chart.xAxis[0].options.tickInterval = dummy ;

但是如果我这样定义变量虚拟,则滴答间隔会更新,我真的不知道这里有什么问题......请有人帮助我

以下是 Fiddle

的链接
      var dummy = 0.2;
      chart.xAxis[0].options.tickInterval = dummy ;

HTML

    <script src="http://code.highcharts.com/highcharts.js"></script>
    <div id="container" style="height: 400px"></div>

    <input id='xint' type='number'>

JAVASCRIPT

     $(function () {
var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        zoomType: 'xy',
        marginLeft: 50,
        marginBottom: 90
    },

    yAxis: {
        reversed: true,
        //min: 0,
        //max: 50
    },
    plotOptions: {
        series: {
            stacking: 'normal'
        }
    },
    xAxis: {
        opposite: true  
    },
    series: [{
        name: '01-Jan-2014',
        data: [
            [28, 10],
            [30, 0]
        ]
    }]
});

$('#xint').change(function(){

        setTimeout(function() { alert($('#xint').val());},10);

        // This is not working 
       // var dummy = $('#xint').val();

       // where as this is working..
         var dummy = 0.2;

             chart.xAxis[0].options.tickInterval = dummy ;
             chart.xAxis[0].isDirty = true;
             chart.redraw();
       });

      });

1 个答案:

答案 0 :(得分:4)

.val()返回一个字符串,你需要一个浮点数:

var dummy = parseFloat($('#xint').val());

更新了fiddle

评论的编辑

不要像你一样更新tickInterval(它与Highcharts的内部相混淆)而是使用:

    chart.yAxis[0].update({
        tickInterval: dummy
    })
相关问题