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);
}
});
});
});
申し訳ありませんが、私はnewbです。バインドしたい要素は1つだけです。イベントが発生するたびにjplayerの再生とタイムアップをトリガーする必要がありますが、再生する最初の曲では1回だけトリガーします。何とかリセットしていないのですか? – fdsaevad
イベントは、トリガーされた後にイベントをバインド解除するため、1回だけトリガーされます。 'unbind'を削除して何が起こるかを見てください。 –
非常に感謝した男、問題の更新を参照してください。 – fdsaevad