当前位置:首页 > 科技 > 正文

在带有onmousedown的Javascript/CSS中音频剪切太快

提问开始:

我有一个问题,当我点击一个链接时,我想播放一声小小的蜂鸣声,除非点击被按住,否则它会被切断。

<script>
  var beep = new Audio();
  beep.src = "audio/select.mp3";
  </script>
  <div class="frame">
    <div class="upperband">
  <img src="images\Upper bar.png" alt="Upper overlay">
</div>
  <div class="outer">
    <div class="header">Maddie's School Site_</div>
      <div class="wrapper">
        <nav>
        - home<br>
        <a href="made.html" onmousedown="beep.play()">- Stuff I Made<br></a>
        <a href="wrote.html" onmousedown="beep.play()">- Stuff I wrote<br></a>
        <a href="whothehell.html" onmousedown="beep.play()">- Who the hell am I?<br></a>
        </nav>
        <div class="right">
          <div class="shadowFX">
          <img src="images\Website_Sprite_ghost.svg" alt="avatar">
        </div>
        </div>
      </div>
    </div>
  </div>

如果它不是最干净的,很抱歉。我在web编程学校上了一个月的课,我们还没有讲过Javascript,所以我的知识有限。

回答开始:得票数 1

对于您编写的播放beep onmousedown的代码,在相同的元素上有一个href。这就是你的问题的原因。

    <a href="made.html" onmousedown="beep.play()">- Stuff I Made<br></a>
    <a href="wrote.html" onmousedown="beep.play()">- Stuff I wrote<br></a>

简而言之,当用户单击上面显示的元素之一时,会发生两件事。首先,开始播放嘟嘟声,然后将用户重定向到新页面。当用户被重定向到新页面时,它将停止播放蜂鸣音(当加载新页面时,它不会继续当前页面中正在进行的操作,如蜂鸣音)。

有几种方法可以解决这个问题,这取决于您希望发生的事情。以下是我认为你可能正在尝试的一些想法:

1.)如果你只是想在你点击标签的时候播放蜂鸣声,只要去掉href,它就会正常工作,例如

    <a onmousedown="beep.play()">- Stuff I Made<br></a>

2.)如果您希望播放beep,然后在beep播放完成后将用户重定向到另一个页面,则需要删除href。代替href,我们可以创建一个函数,它将等待嘟嘟声的长度,然后使用javascript将用户定向到新页面。该函数将如下所示:

function handlePageChange() {
    beep.play(); // start playing the beep
    
    // wait (timeout) for three seconds while the beep plays
    setTimeout(function() {
        // then load the new page
        document.location.href = "made.html"; // the new page you want to open
    }, 3000); // 3000 is three seconds. Update it to however long your beep is
}

3.)如果希望在用户加载新页面时播放蜂鸣声,只需在希望播放的任何页面的部分运行beep.play()即可。

4.)如果你想播放嘟嘟声,并让它毫无延迟地无缝地转移到新页面,那就有点复杂了。有各种各样的解决方案,但something like this似乎是一致的答案,但音频不会完美过渡。

总结

以上是真正的电脑专家为你收集整理的在带有onmousedown的Javascript/CSS中音频剪切太快的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得真正的电脑专家网站内容还不错,欢迎将真正的电脑专家推荐给好友。

有话要说...

取消
扫码支持 支付码