Javascript JS setTimeout未在onclick上触发

Javascript JS setTimeout未在onclick上触发,javascript,Javascript,我一直在我的网站上使用这个里程表 ,这是伟大的,但我似乎不能得到它能够工作在一个按钮一次点击的行动。它仅在加载页面时工作。我曾尝试添加其他功能,如简单窗口。警报警报将工作,但它不会启动设置超时 这是我的最新代码: <script> function playSound() { setTimeout(function(){ var audio = new Audio('sounds/machine-002-short.mp3'); var audio2 =

我一直在我的网站上使用这个里程表 ,这是伟大的,但我似乎不能得到它能够工作在一个按钮一次点击的行动。它仅在加载页面时工作。我曾尝试添加其他功能,如简单窗口。警报警报将工作,但它不会启动设置超时

这是我的最新代码:

<script>

function playSound() {

    setTimeout(function(){

    var audio = new Audio('sounds/machine-002-short.mp3');
    var audio2 = new Audio('sounds/coin-drop-4.mp3');

    audio.play();
    audio.volume = 0.65;
    audio.currentTime = 0.90;

    audio2.pause();
    audio.addEventListener("ended", function() {
    audio2.play();
    audio2.volume = 1.5;

        }); // event listener

    $('.odometer').html(<?php echo $Display;?>);
  }, 1000);  
} 
</script>

函数playSound(){
setTimeout(函数(){
var audio=新音频('sounds/machine-002-short.mp3');
var audio2=新音频(“声音/投币-4.mp3”);
音频播放();
audio.volume=0.65;
audio.currentTime=0.90;
暂停();
addEventListener(“结束”,函数(){
音频2.播放();
音频2.0音量=1.5;
});//事件侦听器
$('.odometer').html();
}, 1000);  
} 
和按钮:

<button id="submit" type="submit" type="button" name="roll" onclick="playSound();">Start</button>
开始
如果我只是添加了一个winow.alert,那么它就不能在这个设置的超时时间内工作,我对JS非常缺乏经验,所以我确信它很简单

  • 按钮可以提交(类型=提交-默认值)或不提交(类型=按钮)
  • 如果需要提交表单,则在setTimeout运行之前无法提交
  • 如果textarea是.odometer,请使用.val()而不是.html()
  • 也许您不希望提交表单,而是希望在操作的内容中使用AJAX。像这样:
函数getContent(){ $.get($(“#form1”).prop(“动作”),{data:$(“#里程表”).val()},函数(数据){ $(“#里程表”).val(数据);//这里我们用返回的内容替换$Display }); } 函数playSound(){ setTimeout(函数(){ var audio=新音频('sounds/machine-002-short.mp3'); var audio2=新音频(“声音/投币-4.mp3”); 音频播放(); audio.volume=0.65; audio.currentTime=0.90; 暂停(); addEventListener(“结束”,函数(){ 音频2.播放(); 音频2.0音量=1.5; getContent(); });//事件侦听器 $(“#里程表”).val(); }, 1000); }

开始

remove
type=“submit”
确实,您是否尝试了
window.setTimeout
?我删除了type=“submit”它工作了,但那个按钮也是我需要的表单的一部分submit@LuisEstevez这是不必要的,然后你需要在playsound中的setTimeout函数中提交表单-听起来更像是需要AJAX来检索提交所做的任何事情。这看起来很棒,我的表单比我将在上面编辑的要高级一些。我不是100%clear对不起…按钮的主要功能是将此信息提交到我的数据库…触发里程表是次要的,类似于进程/倒计时