Всплывающая всплывающая подсказка - PullRequest
3 голосов
/ 01 апреля 2012

У меня проблема с всплывающей подсказкой в ​​flot. Я передаю данные метки времени, и они будут отображаться в виде числа, например 1113340002003. Я хочу сделать так, чтобы при наведении курсора на точку данных она отображалась как дата: 01/04/2012, а не это число. Любая помощь будет отличной! Застрял здесь на несколько часов ....

Вот что я передаю сюжету:

var time = (new Date(dates[i]));
graph.push([time, demand[i]]);

Это раздел, который я использовал для построения графика:

var options = {
series: {
               lines: { show: true },
               points: { show: true }
           },
           grid: { hoverable: true, clickable: true },
           yaxis: { min: 0, max: 20000 },
           xaxis: {
               mode: "time", timeformat: "%d/%m/%y"}

var plot = $.plot($("#placeholder"), 
       [ { data: graph, label: "price" } ], 
        options);

function showTooltip(x, y, contents) {
    $('<div id="tooltip">' + contents + '</div>').css( {
        position: 'absolute',
        display: 'none',
        top: y + 5,
        left: x + 5,
        border: '1px solid #fdd',
        padding: '2px',
        'background-color': '#fee',
        opacity: 0.80
    }).appendTo("body").fadeIn(200);
}


var previousPoint = null;
$("#placeholder").bind("plothover", function (event, pos, item) {
    $("#x").text(pos.x.toFixed(2));
    $("#y").text(pos.y.toFixed(2));

    if($("#enableTooltip:checked").length > 0) {
        if (item) {
            if (previousPoint != item.dataIndex) {
                previousPoint = item.dataIndex;

                $("#tooltip").remove();

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

                   var td = x.split("/");

1 Ответ

3 голосов
/ 01 апреля 2012

Просто преобразуйте его в объект данных javascript, а затем соберите строку самостоятельно.

var d = new Date(item.datapoint[0]);
var someDay = d.getDate();
var someMonth = d.getMonth() + 1; //months are zero based
var someYear = d.getFullYear();
var stringDate = someMonth + "/" + someDay + "/" + someYear;

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