javascript - 如何在时间小于 10 秒时播放提示音

标签 javascript

我正在创建一个倒数计时器。我想在时间少于 10 秒时发出提示音。这是我的代码:

https://jsfiddle.net/Eddamoun/591mcbry/1/

function startTimer(duration, display) {
        var timer = duration, minutes, seconds;
        setInterval(function () {
            minutes = parseInt(timer / 60, 10)
            seconds = parseInt(timer % 60, 10);

            minutes = minutes < 10 ? "0" + minutes : minutes;
            seconds = seconds < 10 ? "0" + seconds : seconds;

            display.text("00 : " + minutes + " : " + seconds);

            // Not working!
            if (--timer < 10) {
                var audio = new Audio('beep.mp3');
                audio.play();
            }

            if (--timer < 0) {
                window.location.href = "test.php";
            }
        }, 1000);
    }

    jQuery(function ($) {
        var testtime = 60 * 1,
            display = $('#time');
        startTimer(testtime, display);
    });

最佳答案

如果您已将 jquery 加载到您的作用域中,那么这些代码可以在窗口加载后运行。 但是你应该更改代码 var audio = new Audio('beep.mp3'); audio.play();; 也许你可以定义一个全局变量var audio,当音频初始化时,你可以跳过new Audio()

关于javascript - 如何在时间小于 10 秒时播放提示音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57768511/

相关文章:

javascript - 3D Secure 的 Stripe 支付意图仍然不完整

javascript - JavaScript 中的 window.location 替代品

javascript - 我如何在javascript中解析这个xml?

javascript - JQuery 函数只能在函数内工作

javascript - 根据用户输入替换而不是附加?

javascript - 下面的数据布局在设置显示 :none 上向上移动

javascript - D3 图表过渡要么获得正确的数量或宽度,但不能同时获得正确的数量或宽度

javascript - Flexslider 适合窗口高度和宽度

javascript - 为什么我的函数中需要有这个 IF 语句?

javascript - 通过 webpack 构建的 Typescript 在 React 组件中使用 CSS 模块