数组内元素交换位置,音频播放的诡异问题

honglingbo 2019-01-03 08:41:34
有一个数组,假设每个元素里都有一个音频,都在播放,用 this.tempArr.splice(newIndex,0,...this.tempArr.splice(oldIndex,1)) 该方法交换数组内某两个元素位置,在windows,谷歌环境下,向前换位置的元素音频仍然继续播放,向后换位置的音频播放会被暂停,请问这是为啥呀,这个dome 用vue实现 代码如下
https://codesandbox.io/embed/78y3vr6oq?codemirror=1

困扰小弟很久了,同样是谷歌,Windows,安卓就会有该问题,求大神指教原理!!
...全文
82 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2019-01-04
  • 打赏
  • 举报
回复
数组更新后vue会操作dom,把上边的<audio>移动到下边来。 对于谷歌浏览器,只要<audio>在文档中移动就会暂停播放。
honglingbo 2019-01-04
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪 的回复:
数组更新后vue会操作dom,把上边的<audio>移动到下边来。 对于谷歌浏览器,只要<audio>在文档中移动就会暂停播放。
可是这样上移也会暂停播放才对,为何这个dome 上移没事,下移就会暂停嫩
天际的海浪 2019-01-04
  • 打赏
  • 举报
回复
引用 2 楼 honglingbo 的回复:
[quote=引用 1 楼 天际的海浪 的回复:] 数组更新后vue会操作dom,把上边的<audio>移动到下边来。 对于谷歌浏览器,只要<audio>在文档中移动就会暂停播放。
可是这样上移也会暂停播放才对,为何这个dome 上移没事,下移就会暂停嫩[/quote] 因为你是两个相邻的li元素交换位置。vue只要把上边的元素移动到下面就可以了,原本在下边的元素不用移动啊

87,920

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧