防止jQuery Flot将数字转换为十进制

时间:2016-04-17 13:02:29

标签: javascript jquery flot

我发现jquery flot会为数字添加额外的小数,因此12会来12.00

以下是一个示例:

$(function() {

  var data = [ [0, 3], [4, 8], [8, 5],  [9, 13] ];

  $.plot($("#placeholder"), [data], {
    grid: {
      hoverable: true,
      clickable: true
    },
    series: { lines: {show: true},
              points:{show: true}
    }
  });

  $("<div id='tooltip'></div>").css({
    position: "absolute",
    display: "none",
    border: "1px solid #fdd",
    padding: "2px",
    "background-color": "#fee",
    opacity: 0.80
  }).appendTo("body");


  $("#placeholder").bind("plothover", function(event, pos, item) {
    if (item) {
      var x = item.datapoint[0].toFixed(2),
        y = item.datapoint[1].toFixed(2);

      $("#tooltip").html( "x is: " + x + " --  y is: " + y)
        .css({
          top: item.pageY + 5,
          left: item.pageX + 5
        })
        .fadeIn(200);
    } else {
      $("#tooltip").hide();
    }
  });

});

显示带有工具提示的图表。将鼠标悬停在您看到的点上时

x is: 4.00 -- y is 8.00

http://jsfiddle.net/b22j666L/

我该如何解决?!

2 个答案:

答案 0 :(得分:2)

删除代码中的.toFixed(2)

var x = item.datapoint[0];
var y = item.datapoint[1];

DEMO

答案 1 :(得分:2)

这些代码行使工具提示值浮动。

var x = item.datapoint[0].toFixed(2),
    y = item.datapoint[1].toFixed(2);

制作x和y整数,

var x = item.datapoint[0],
    y = item.datapoint[1];