Coffeescript HTML5音频暂停所有其他音频元素

时间:2014-06-05 18:05:59

标签: javascript jquery html5 audio coffeescript

我在页面上有很多元素,当用户点击"播放"或者"暂停"按钮我想暂停页面上的任何其他音频。

以下代码适用于每次前两次点击,之后不稳定,我无法找出原因:

$('audio').on 'click', ()->
    $('audio').not($(this))[0].pause()

解决方案:

$('audio').on 'click', ()->
    $playlist = $('audio').not(this)
    for $track in $playlist
        $track.pause()

1 个答案:

答案 0 :(得分:2)

  • .not()也可accept a DOM element,因此您不必严格将其包装在$()
  • 您当前的代码似乎只是暂停它找到的第一个audio。您可以使用类似.each()的内容来遍历选择器的所有结果。

所以,如果没有看到更多代码,我可以推荐这一切:

$('audio').on 'click', () ->
    $('audio').not(this).each () ->
        this.pause()