如果标题不清楚,请注意。我有一个swiperight和swipeleft事件,当触发时会将音频源添加到带有自动播放的html5音频标签中。因此,如果你向左滑动,则播放一首歌并向右滑动另一首播放。问题是它只能工作一次。如果我向左滑动,则播放该歌曲然后如果我向右滑动,则再向左滑动,反之亦然。有没有办法重置功能?希望这是有道理的,谢谢!下面是我的代码
<script>
$(document).ready(function() {
$("body").bind("swiperight", function(event){
$('#swipe').append(
'<source src="http://a.tumblr.com/tumblr_ljdvcbDIsN1qhk4f9o1.mp3"/>');
})
$("body").bind("swipeleft", function(event) {
$('#swipe').append('<source src="http://www.nerdthegame.com/media/audio/soundtrack/Nintendo-Super-Mario-Theme-Song.mp3" />');
})
})
答案 0 :(得分:1)
我相信每次都会执行滑动事件处理程序,但随后您.append()
个<source>
元素将<audio>
元素添加到<source>
元素中,以便最终生成多个<source>
元素。首先尝试删除之前的.empty()
,您可以使用$(document).ready(function() {
$("body").bind("swiperight", function(event){
$('#swipe').empty().append(
'<source src="http://a.tumblr.com/tumblr_ljdvcbDIsN1qhk4f9o1.mp3"/>');
})
$("body").bind("swipeleft", function(event) {
$('#swipe').empty().append('<source src="http://www.nerdthegame.com/media/audio/soundtrack/Nintendo-Super-Mario-Theme-Song.mp3" />');
})
})
执行此操作,如下所示:
{{1}}
似乎然后在小提琴中工作(我没有在演示中使用滑动事件,因为我在笔记本电脑而不是手机上进行测试):http://jsfiddle.net/AG3Tu/