php - javascript 如果负面条件不起作用

标签 php javascript jquery html

我正在尝试计算两次之间经过的小时数。当计算 PM 到 AM 时,它会给我一个负数,所以我需要在负数上加上 12 小时以获得正确的耗时。为此,我必须添加条件 if ($some_result < 0) .它在 php 中有效,但在 js 中无效,我不明白为什么

演示:http://jsfiddle.net/wH7sC/1/

function calculateTime() { //gets time elapsed between 2 time marks

            var valuestart = $("select[name='timestart']").val();
            var valuestop = $("select[name='timestop']").val();

             //create date format          
             var timeStart = new Date("01/01/2007 " + valuestart).getHours();
             var timeEnd = new Date("01/01/2007 " + valuestop).getHours();

             var hourDiff = timeEnd - timeStart;      

              if ( hourDiff < 0 ) { //this is not working
                 hourDiff += 12;
             }

             return hourDiff;

}



//prepare function on load
$(document).ready(function() {
    $("select").change(calculateTime);
    calculateTime();
});



//execute function when changing select options
$(function() {
    $("select").change(function() {
        $( "#result" ).val( calculateTime() );
    });
});

最佳答案

这不是 if 语句失败。您需要添加 24,而不是 12:

http://jsfiddle.net/sparebyte/wH7sC/2/

我建议安装 Chrome、Firefox 或 IE9,打开 javascript 开发人员控制台并使用 console.log(...) 函数。我不推荐使用 IE9,它的输出让我想要。

关于php - javascript 如果负面条件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11043169/

相关文章:

php - 来自精确表格的数据

jquery - ajax 请求后从多个 div 创建 fancybox 画廊

javascript - 将数组拆分为多个数组或备用数组 - Javascript

php - 设置鼠标悬停时图像需要更改的时间

php - 如何使用 php 将数字转换为字母数字系统

javascript - .onload 从 Firefox 扩展中多次调用

javascript - 这个 setState({scale : 'c' , temperature}) 可以吗?

javascript - 范围输入 WP 定制器上出现无效值错误

php - 确定并排序多个位置的距离

javascript - 如何从表格中删除表格行元素的模式?