【问题标题】:Coffeescript HTML5 audio pause all other audio elementsCoffeescript HTML5 音频暂停所有其他音频元素
【发布时间】:2014-07-26 20:32:46
【问题描述】:

我的页面上有很多元素,当用户单击“播放”或“暂停”按钮时,我想暂停页面上的任何其他音频。

以下代码每次点击前两次都有效,之后又不稳定,我不知道为什么:

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

解决方案:

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

【问题讨论】:

  • 你能把它和一两个其他音频元素放在一起吗?

标签: javascript jquery html audio coffeescript


【解决方案1】:
  • .not() 也可以 accept a DOM element ,所以你不需要把它包裹在 $()
  • 您当前的代码似乎只暂停了它找到的第一个audio。您可以使用 .each() 之类的东西来遍历选择器的所有结果。

所以没有看到更多的代码,这是我可以推荐的全部:

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

【讨论】:

  • 非常感谢您的评论。你完全让我走上了正轨。我会用解决方案更新我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
  • 1970-01-01
  • 1970-01-01
  • 2014-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多