2016-03-30 3 views
-1

この質問は何度も尋ねられているので、投稿を検討する前にいくつか試しましたが、とにかくここで終わりました。 私はdocument.Write()が何かを指さないでページの内容を上書きすることを理解しましたので、私はそれを再生するdivを与えました。document.Write()はすべてのページの内容を上書きします

私はこのようになり、空のdivがあります。

<div id="audio"></div> 

そして、私のJSは、次のようになります。

document.onkeydown = function() { 
    var numberOfSongs = 3 
    var sound = new Array(numberOfSongs+1) 
    sound[0]= "key1.mp3" 
    sound[1]= "key2.mp3" 
    sound[2]= "key3.mp3" 
    function randomNumber(){ 
    var randomLooper = -1 
    while (randomLooper < 0 || randomLooper > numberOfSongs || isNaN(randomLooper)){ randomLooper = parseInt(Math.random()*(numberOfSongs+1)) 
    } 
     return randomLooper 
    } 
    var randomsub = randomNumber() 
    var soundFile = sound[randomsub] 
    document.getElementById("audio").innerHTML ('<EMBED src= "' + soundFile + '" hidden=true autostart=true loop=true>') 
} 

それは少し厄介に見える場合、私はちょうど学び始めているので、それはおそらくですJSは、C#の向こう側に橋渡ししているので、私の構文がちょっとずれているかもしれません。

それは前にあったので:それはページを拭く前に、サウンドを再生しました

document.Write ('<EMBED src= "' + soundFile + '" hidden=true autostart=true loop=true>') 

、今私は全く何を取得、HTMLには、音と何も現れないので、私は完全に途方に暮れています私が間違って行ったことについて

答えて

2

は基本的に、innerHTMLは、あなたのコンソールで

document.getElementById("audio").innerHTML = 
    '<EMBED src= "' + soundFile + '" hidden=true autostart=true loop=true>'; 

プロパティ、関数ではなく、あなたはinnerHTMLのようなエラーが機能ではないはずです。

+0

ああ、ちょうどこれに気づいた。私がオンラインで見つけることができるすべての回答は、これを使用すると言いました。 –

+0

@ K.Briggs助けてよかった! :)この答えの中にある目盛りを押してみてください。それがあなたを助けたと感じたら。そして、これは強制ではありません。 :) –

関連する問題