Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我正试图策划一场比赛时间”;01:23:22“;在一张带有Flot的图表上,这样我可以随时间进行比较_Javascript_Jquery_Flot - Fatal编程技术网

Javascript 我正试图策划一场比赛时间”;01:23:22“;在一张带有Flot的图表上,这样我可以随时间进行比较

Javascript 我正试图策划一场比赛时间”;01:23:22“;在一张带有Flot的图表上,这样我可以随时间进行比较,javascript,jquery,flot,Javascript,Jquery,Flot,我正在写一个应用程序,根据日期和时间跟踪游泳运动员的比赛结果 数据集看起来与此类似(日期、比赛时间) 我正在使用下面的代码尝试打印它,但我无法获得准确的打印,并且工具提示是错误的 <script> $(document).ready(function(){ var originalData = [ ['12/01/2015', '02:05:00'], ['12/08/2015', '01:15:00'],

我正在写一个应用程序,根据日期和时间跟踪游泳运动员的比赛结果

数据集看起来与此类似(日期、比赛时间)

我正在使用下面的代码尝试打印它,但我无法获得准确的打印,并且工具提示是错误的

<script>
    $(document).ready(function(){

        var originalData = [
            ['12/01/2015', '02:05:00'],
            ['12/08/2015', '01:15:00'],
            ['12/15/2015', '04:20:00']
        ];

        var data = [];
        var test = [];

        for (var i = 0; i < originalData.length; i++) {
            var dataPoint = [];
            dataPoint.push((new Date(originalData[i][0])));

            var time = originalData[i][1].split(':');
            var hours = parseInt(time[0]);
            var minutes = parseInt(time[1]);
            var seconds = parseInt(time[2]);

            dataPoint.push(hours + minutes + seconds /60);

            data.push(dataPoint);

        }


        var options = {
            series: {
                lines: {
                    show: true
                },
                points: {
                    show: true
                }
            },
            xaxis: {
                mode: 'time',
                timeformat: "%0m/%0d %0H:%0M",
                tickSize: [5, 'week']
            },

            yaxis: {
                min: 0,
                max: 24
            },
            grid: {
                hoverable:true,
                clickable:true
            }
        };

        var plot = $.plot("#placeholder"
                ,[data], options);

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

            if (item) {
                if (previousPoint != item.datapoint) {
                    previousPoint = item.datapoint;

                    $("#tooltip").remove();
                    var x = item.datapoint[0].toFixed(2),
                            y = item.datapoint[1].toFixed(2)

                    showTooltip(item.pageX, item.pageY,
                            y);
                }
            }
            else {
                $("#tooltip").remove();
                previousPoint = null;
            }
        });

        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);
        }
    });

</script>

$(文档).ready(函数(){
原始数据变量=[
['12/01/2015', '02:05:00'],
['12/08/2015', '01:15:00'],
['12/15/2015', '04:20:00']
];
var数据=[];
var检验=[];
对于(变量i=0;i
我的目标是绘制这3个值,这样我就可以看到游泳运动员时间的差异

代码

dataPoint.push(小时+分钟+秒/60)

把事情搞得一团糟,没有按我的意思工作


任何帮助都将不胜感激

您的代码
dataPoint.push(小时+分钟+秒/60)以相同的方式处理小时和分钟,从而导致错误。如果要以分钟为单位显示比赛时间,请使用
60*小时+分钟+秒/60
(如果要以小时为单位,请使用
hours+分钟/60+秒/3600

要以分钟为单位从比赛时间中恢复原始格式的比赛时间,请使用以下方法:

function getFormattedTime(timeInMinutes) {
    var hours = Math.trunc(timeInMinutes / 60);
    var minutes = Math.trunc(timeInMinutes % 60);
    var seconds = Math.round(60 * (timeInMinutes - Math.round(timeInMinutes)));

    var result = hours.toString() + ':';
    result += (minutes < 10 ? '0' : '') + minutes.toString() + ':';
    result += (seconds < 10 ? '0' : '') + seconds.toString();

    return result;
}
函数getFormattedTime(timeInMinutes){
var小时=数学计算(时间单位:分钟/60);
var minutes=Math.trunc(timeInMinutes%60);
var seconds=Math.round(60*(timeInMinutes-Math.round(timeInMinutes));
var result=hours.toString()+':';
结果+=(分钟<10?'0':'')+分钟.toString()+':';
结果+=(秒<10?'0':'')+秒.toString();
返回结果;
}

如果您希望时间以分钟为单位,则需要
60*小时+分钟+秒/60
(或以小时为单位:
hours+分钟/60+秒/3600
)谢谢。悬停时,如何将原始时间(例如01:23:23)字符串显示为工具提示?
function getFormattedTime(timeInMinutes) {
    var hours = Math.trunc(timeInMinutes / 60);
    var minutes = Math.trunc(timeInMinutes % 60);
    var seconds = Math.round(60 * (timeInMinutes - Math.round(timeInMinutes)));

    var result = hours.toString() + ':';
    result += (minutes < 10 ? '0' : '') + minutes.toString() + ':';
    result += (seconds < 10 ? '0' : '') + seconds.toString();

    return result;
}