javascript - 未使用 JavaScript 定义 onclick 函数

标签 javascript html

我试图在单击 div 时播放音频文件,然后在下次单击 div 时暂停它。但是,我对 javascript 非常陌生,第一个函数甚至没有执行,而且我不明白它是如何定义的。

这是我的代码:

<!DOCTYPE html>
<html>

<head>
    <style>
        .floating-box {
            display: inline-block;
            width: 150px;
            height: 75px;
            margin: 10px;
            border: 3px solid #73AD21;
        }

        .after-box {
            clear: left;
            border: 3px solid red;
        }

        .player
    </style>
</head>
<script>
    var has_been_played = 0;

    function playSound() {
        var aud=new Audio(file);
        aud.play();
        var b1 = document.getElementbyId("box" + num);
        var b1.has_been_played == true;

    }

    var b1.has_been_played = pauseAud() {
        document.getElementById("box" + num).setAttribute("onClick",
            "javascript: pauseAud();");
    }

    function pauseAud() {
        var aud=new Audio(file);

        aud.pause();
    }
</script>

<body>
    <div id="box1" class="floating-box" onclick="playSound('donttalk.mp3');"></div>
    <div id="box2" class="floating-box" onclick="playSound('goodvibrations.mp3');"></div>
</body>

</html>

我希望它播放声音,然后一旦单击它,变量就会更改为“has_been_played”,并且下次单击该 div 时,音频文件将暂停。 (希望下次您点击它时它会再次播放。

为什么说 onclick 函数 playSound 没有定义?

最佳答案

您需要将函数添加到窗口,如下所示:

function playSound(){
    aud.play();
     var b1= document.getElementbyId("box"+num);
    var b1.has_been_played == true;

}

window.playSound = playSound;

关于javascript - 未使用 JavaScript 定义 onclick 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47641782/

相关文章:

javascript - 从字符串中 trim 特定字符

javascript - MVC - 有没有一种很好的方法可以将控件与其各自的 javascript 捆绑在一起?

javascript - 使用 JavaScript 替换段落中的文本

javascript - 如何在 Javascript 中使用递归打印嵌套数组的位置和值

html - 如何垂直对齐水平菜单中的元素?

javascript - 如何优化 Javascript 查找?

javascript - 对象移动程序 - 无法通过停止动画按钮来停止递归函数

javascript - 预加载Javascript音频以在脚本中播放

javascript - 将警报值传递到输入字段

javascript - 如何使用各自的文本框创建多个多范围 slider ?