• 締切済み

Jquery JSON形式で読みだした後

http://kolber.github.com/audiojs/demos/test6.html ここのサイトのaudio.jsの再生リストを表示するjqueryを使用しています。 このjqueryに多少手を加えて、Jsonデータから再生リストのパスを取得して、<li>タグに自動生成しています。 ですが、このaudio.jsのサンプルは、HTMLに直接書いたリストしか識別してくれません。 (直接HTMLに書いたものだと、リストからaudio再生してくれます) JSONからパスを取得して自動生成したリストだとaudio再生が機能しません。 error loading undefinedが表示されます。 (HTMLソースの方にはパスファイルが正しく表示されています。(直接打ち込んだ時と同じパス)) この原因と解決法を教えていただけないでしょうか。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

回答がないみたいなので。 試してはいませんが… コードの内容を見てはいませんが、HTMLソースの内容を見る限りは通常のDOM操作で行なっているように推測します。 >JSONからパスを取得して自動生成したリストだとaudio再生が機能しません。 >error loading undefinedが表示されます。 という事象から推測すると、実行順序の問題ではないでしょうか? 参考サイトのスクリプトは初期設定を最初に行なっているようですので、そのスクリプトを実行する前に、リストへの追加を行なっておくようにすれば動作しそうに思いますが、それでもダメでしょうか? JSONをどこから取得しているのかわかりませんが、ajaxなどであれば、タイミングを制御する必要がありそう。 (コールバックの中で初期設定を実行するようにする) 後から追加しても動作するようにしたいのであれば、コードの内容を解析して、カスタマイズする必要がありそう。 もしかすると、audio.jsは先に実行しておいても問題ないかも知れませんので、その場合であればclickのイベント設定をliveに変えてあげる程度で済む可能性もあります。(よく見ていないので、あくまでも可能性だけの話ですが…)

関連するQ&A