1

私は JavaScript を初めて使用するので、経験のある人なら問題を簡単に解決できるでしょう。私は数人の友人と音楽ブログを作成しており、jPlayer を使用して独自のカスタム音楽プレーヤーを作成しようとしています。

曲のタイトルと mp3 を指定すると、それ自体が jPlayer プレイリストに追加される単純な JavaScript 関数が必要です。これは私が持っているJavaScript関数です...

function add_song(title, mp3)
{
    myPlaylist.add({
        title:"Tempered Song",
        mp3:"http://www.jplayer.org/audio/mp3/Miaow-01-Tempered-song.mp3"
    });
}

このコードを使用して、体のどこでも関数を呼び出せるようにしたい...

<script>
    add_song("Your Face", "http://www.jplayer.org/audio/mp3/TSP-05-Your_face.mp3");
</script>

ただし、これは実際には曲を追加しません。これは、$(document).ready() 関数で jPlayerPlaylist を設定する必要があることに関係していると推測しています。add_song() を呼び出そうとしたときに、変数 "myPlaylist" が正しく初期化されていないと思います。私が言ったように、私は JavaScript を初めて使用するので、簡単にできるようにしてください。

私のウェブサイトで私が持っているコードをチェックして、私の問題をよりよく導くことができます。ありがとう!

4

1 に答える 1

0

問題は、実際に を呼び出したjPlayerPlaylist 後に設定していることですadd_song<script>ブラウザーは、タグに遭遇するとすぐにタグ内の Javascript コードをブロックして実行します。これはdocument.onload、同等の jQuery が起動される前です。

正確に何を達成しようとしていますか?ページの読み込み中にハードコードされたプレイリスト要素を本当に読み込みたいですか、それとも実際にこれらをボタンやリンクに添付したいですか? 前者の場合は関数呼び出しを onload 関数に移動し、後者の場合は新しいイベント ハンドラー関数を作成して適切な要素にアタッチします。

アドレスバーなどで手動で機能を提供するだけの場合は、問題なく動作するはずです。ページが読み込まれる前に機能しません。

于 2012-10-24T16:08:33.140 に答える