悬停Div时为什么我的音频无法播放?

时间:2018-09-04 16:55:32

标签: javascript html css audio

我的重复径向渐变未播放音频。 有人可以帮忙吗?我想我的ID有问题。 第一个链接是代码,第二个链接是站点。 https://github.com/Robocop79/Websiteland/blob/master/index.html https://robocop79.github.io/Websiteland/

1 个答案:

答案 0 :(得分:0)

您的Javascript代码中的主要问题是:

  • HTML中没有ID为nav-two的元素,您是说grad1吗?
  • 您正在克隆音频<source>元素,但是.play()只能在<audio>上执行
$("#grad1 a").each(function(i) {
  if (i != 0) {
    $("#bay").parent()
    .clone()
    .attr("id", "bay" + i)
    .appendTo($(this).parent());
  }
  $(this).data("bay", i);
})
.mouseenter(function() {
  $("#bay" + $(this).data("bay"))[0].play();
});

您还可以通过在.each函数内部移动mouseenter调用(从而消除对data属性的需要)来简化音频触发的方式。

$("#grad1 a").each(function(i) {
  if (i != 0) {
    var clonedaudio = $("#bay").parent()
      .clone()
      .appendTo($(this).parent());

    $(this).mouseenter(function() {
      clonedaudio[0].play();
    });
  }
})