2017-05-05 4 views
0

これはapplication.jsにありますが、最初の曲のみで動作します。jPlayerのjavascriptイベントトリガーは、最初の曲でのみ機能します。

最初は1曲、2曲目は5%です(最終的には75%になります)。

$(document).ready(function(){ 
    $("#jquery_jplayer_1").bind($.jPlayer.event.play, function(event) { 
     $("#jquery_jplayer_1").unbind($.jPlayer.event.play) 
     var band = event.jPlayer.status.media.band; 
     var song = event.jPlayer.status.media.song; 
     $.get("/playlists/song_display?song=" + song + "&band=" + band); 
    }); 

    $("#jquery_jplayer_1").bind($.jPlayer.event.timeupdate, function(event) { 
     if (parseInt(event.jPlayer.status.currentPercentAbsolute) >= 5) { 
     $("#jquery_jplayer_1").unbind($.jPlayer.event.timeupdate) 
     var band = event.jPlayer.status.media.band; 
     var song = event.jPlayer.status.media.song; 
     $.get("/playlists/song_counter?song=" + song + "&band=" + band); 
     } 
    }); 
}); 

EDIT:イワンへ

おかげで、このコードで終わった:あなたは要素のidを使用して、要素を選択しているよう

$(document).ready(function(){ 
    $("#jquery_jplayer_1").bind($.jPlayer.event.play, function(event) { 
     debugger 
     var band = event.jPlayer.status.media.band; 
     var song = event.jPlayer.status.media.song; 
     $.get("/playlists/song_display?song=" + song + "&band=" + band); 

     $("#jquery_jplayer_1").bind($.jPlayer.event.timeupdate, function(event) { 
      if (parseInt(event.jPlayer.status.currentPercentAbsolute) >= 5) { 
      debugger 
      $("#jquery_jplayer_1").unbind($.jPlayer.event.timeupdate) 
      var band = event.jPlayer.status.media.band; 
      var song = event.jPlayer.status.media.song; 
      $.get("/playlists/song_counter?song=" + song + "&band=" + band); 
      } 
     }); 
    }); 
}); 

答えて

1

が見える

$("#jquery_jplayer_1").bind(...) 

これが唯一の意志id jquery_jplayer_1と一致する最初の要素に適用します。

イベントを複数の要素にバインドする場合は、代わりにクラスセレクタを使用できます。

$(".jquery_jplayer").bind(...) 
+0

申し訳ありませんが、私はnewbです。バインドしたい要素は1つだけです。イベントが発生するたびにjplayerの再生とタイムアップをトリガーする必要がありますが、再生する最初の曲では1回だけトリガーします。何とかリセットしていないのですか? – fdsaevad

+0

イベントは、トリガーされた後にイベントをバインド解除するため、1回だけトリガーされます。 'unbind'を削除して何が起こるかを見てください。 –

+0

非常に感謝した男、問題の更新を参照してください。 – fdsaevad

関連する問題