javascript - 将秒表时间转换为秒

标签 javascript jquery html

我的网站上有一个秒表,我想在单击停止按钮后获取结果并将其转换为秒。

是否可以仅使用 javascript 或 jquery 计算给定时间并将其转换为秒?

转换后,我想将值发送到我的数据库

我可以在控制台中看到结果

var ss = document.getElementsByClassName('stopwatch');

[].forEach.call(ss, function (s) {
    var currentTimer = 0,
        interval = 0,
        lastUpdateTime = new Date().getTime(),
        start = s.querySelector('button.start'),
        stop = s.querySelector('button.stop'),
        reset = s.querySelector('button.reset'),
        mins = s.querySelector('span.minutes'),
        secs = s.querySelector('span.seconds'),
        cents = s.querySelector('span.centiseconds');

    start.addEventListener('click', startTimer);
    stop.addEventListener('click', stopTimer);
    reset.addEventListener('click', resetTimer);

    function pad (n) {
        return ('00' + n).substr(-2);
    }

    function update () {
        var now = new Date().getTime(),
            dt = now - lastUpdateTime;

        currentTimer += dt;

        var time = new Date(currentTimer);

        mins.innerHTML = pad(time.getMinutes());
        secs.innerHTML = pad(time.getSeconds());
        cents.innerHTML = pad(Math.floor(time.getMilliseconds() / 10));

        lastUpdateTime = now;
    }

    function startTimer () {
        if (!interval) {
            lastUpdateTime = new Date().getTime();
            interval = setInterval(update, 1);
        }
    }

    function stopTimer () {
        clearInterval(interval);
        interval = 0;
    }

    function resetTimer () {
        stopTimer();

        currentTimer = 0;

        mins.innerHTML = secs.innerHTML = cents.innerHTML = pad(0);

    }
});


$(document).ready(function(){
    $(".stop").click(function(){
        var m = $('#min').html();
        var s = $('#sec').html();
        var ms = $('#msec').html();
        console.log(m,s,ms);
        
    });
});
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Stopwatch</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>

<div class="stopwatch">
    <div class="controls">
        <button class="start">Start</button>
        <button id="stp" class="stop">Stop</button>
        <button class="reset">Reset</button>
    </div>
    <div class="display">
        <span id="min" class="minutes" value="">00</span><span id="sec" class="seconds" value="">00</span><span id="msec" class="centiseconds" value="">00</span>
    </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="watch/stopwatch.js"></script>

<script>

</script>
</body>
</html>

最佳答案

使用第二个函数(记录值的函数),您只需执行一些简单的数学运算即可获得总秒数:

$(document).ready(function(){
    $(".stop").click(function(){
        var m = $('#min').html();
        var s = $('#sec').html();
        var ms = $('#msec').html();
        console.log(m,s,ms);
        var total = (parseInt(m) * 60) + parseInt(s);
        console.log(total + "." + ms);
    });
});

关于javascript - 将秒表时间转换为秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53461643/

相关文章:

javascript - 如何安全地加载外部 JavaScript 文件?

javascript - 如何在 JavaScript 中使用正则表达式删除除第一个字符之外的特定字符?

jquery - 创建可折叠/可展开的 CSS 2 树

jQuery - 将 "selected"应用于特定值的选项

html - 禁用空间的选择性

javascript - 将二进制数据从 Java ServerSocket 流式传输到 javascript html

javascript - 使用 JQuery 水平和垂直居中 img

javascript - 如何将高度添加到现有高度?

javascript - 页面上所有文本框的值 - 不知道 ID?

javascript - Requirejs 优化器 - 模块设置无法跳过外部源