2017-05-14 12 views
0

テキストとサウンドで配列内の単語をクリックしたいと思います。配列内のサウンドを含む単語をクリックしてください - javascript

私は、このリンクからコードを取っ:Detect which word has been clicked on within a textを、私は言葉でクリックする方法を考え出すとjQuery

<script> 
var wordaudio = []; 
wordaudio["Lorem"] = "lorem.mp3"; 
wordaudio["ipsum"] = "ipsum.mp3"; 
wordaudio["dolor"] = "dolor.mp3"; 

$("body").click(function(){ 
    var s = window.getSelection(); 
    s.modify('extend','backward','word');   
    var b = s.toString(); 

    s.modify('extend','forward','word'); 
    var a = s.toString(); 
    s.modify('move','forward','character'); 
    // alert(b+a); 
    document.getElementById('myAudio').src='0001.mp3'; 
    document.getElementById('myAudio').play(); 


}); 
</script> 

<p>Lorem ipsum dolor sit amet.</p> 
<audio id="myAudio" src=""></audio> 
+0

はオプションとなる言葉の周りにスパンを追加しますか? – Teemoh

+0

私はjavascriptを知っていますが、私はjQueryを使用したことはありません。これは私にとっては奇妙なことです。私は何をすべきかわかりません。私は新しい言語を学ぶためにたくさんのオーディオファイルを持っています。私は純粋なjavascriptでそれをやろうとします。スクリプトは使用範囲なしでうまく動作します。アラート機能を有効にする必要があります。今日私はそれを求めて署名しました。私は新しいメンバーです! –

答えて

0

を使用して、その音を聞く方法がわからない私は、スクリプトを修正しました私はすべてのオーディオファイルの名前を変更する必要があると思う...この例では単語の馬だけが動作します。

function hearWords() { 
 
var s = window.getSelection(); 
 
    s.modify('extend','backward','word');   
 
var b = s.toString(); 
 
    s.modify('extend','forward','word'); 
 
var a = s.toString(); 
 
    s.modify('move','forward','character'); 
 
var audio = b+a.trim()+'.mp3'; \t 
 
    document.getElementById('myAudio').src='https://www.w3schools.com/jsref/'+audio; 
 
    document.getElementById('myAudio').play(); 
 
    alert(audio); 
 
\t }
<p id="words" onclick="hearWords();">no sound horse </p> 
 
<audio id="myAudio" src=""></audio>

関連する問題