2011-12-19 9 views
0

<audio>タグが複数あるページを書き込もうとしていますが、ページの読み込みには長時間がかかります(約30個のオーディオクリップがあります)。私が見たソリューションは、src=""空を残していた、あなたがリンクをクリックしたときに動的に移入...オーディオタグ、リンクをクリックするとsrcを追加しますか?

http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/

マイsnytaxが間違っているが、それはボタンがクリックされたときに2つのことを行う必要があります。それは、srcを入力してクリップを再生することによってビデオをロードする必要があります。

document.getElementById('1')[0].src = '1.aif';.play() 

答えて

1

ステートメントを個別に実行されているので、.play()は、要素上で実行されません:私は、次のコードが動作するだろうと思いました。ステートメントは.で開始できないため、無効です。

$("#1").attr("src", "1.aif").play(); 

または純粋なJavaScriptで:

var elem = document.getElementById('1'); // returns one element, not an array 
elem.src = '1.aif'; 
elem.play(); 
+0

純粋なJavascriptをインラインで使用できますが、jQueryを使用しても動作しないことに気付きました(私は「to」を変更しました。もちろん、頭にjQがあります)。 – Charlie

+0

@Charlie :厳密に言えば、elem.srcはプロパティを設定しています。 '.attr'の代わりに' .prop'を試してみることができますか? – pimvdb

1

何がしたいように見えることは、 "チェーンスタイル" jQueryのは、あなたが使用することを可能にする、(1つのステートメントでエレガントないくつかのことを実行する)でありますあなたの問題は次のとおりです:

  1. getElementByIdは、指定されたユニーク識別子、ノードリストではありません(したがって0プロパティがないため、[0]は機能しません)
  2. 2番目のステートメントは何もせずにplayを呼び出そうとしています。あなたはおそらく動的srcを設定しようとするのではなく、preload="none"を設定したい.

の前に何かが必要。

+0

'

関連する問題