1

タイトルがわかりにくかったらすいません。トリガーされるとオーディオソースを自動再生付きのhtml5オーディオタグに追加するswiperightおよびswipeleftイベントがあります。そのため、左にスワイプすると 1 つの曲が再生され、右にスワイプすると別の曲が再生されます..問題は、1 回しか機能しないことです。左にスワイプすると曲が再生され、右にスワイプすると何も再生されず、左にスワイプしても何も再生されず、その逆も同様です。機能をリセットする方法はありますか?これが理にかなっていることを願っています。ありがとう!以下は私のコードです

<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" />');
    })
})

4

1 に答える 1

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" />');
    })
})

その後、フィドルで動作するようです(電話ではなくラップトップでテストしているため、デモではスワイプイベントを使用しませんでした):http://jsfiddle.net/AG3Tu/

于 2013-07-03T04:12:05.723 に答える