单击数组中带声音的单词 - javascript

时间:2017-05-14 17:05:05

标签: javascript jquery arrays html5-audio

我想点击带有文字和声音的数组中的单词。

我从这个链接中获取了代码: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>

1 个答案:

答案 0 :(得分:0)

我必须将脚本修改为纯javascript,遗憾的是我不知道如何使用 在这个例子中的数组,我想我需要重命名我的所有音频文件......在这个例子中只有word horse。

&#13;
&#13;
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';	
  document.getElementById('myAudio').src='https://www.w3schools.com/jsref/'+audio;
  document.getElementById('myAudio').play();
     alert(audio);
	}
&#13;
<p id="words" onclick="hearWords();">no sound horse </p>
<audio id="myAudio" src=""></audio>
&#13;
&#13;
&#13;