【问题标题】:Break string into chars and attach sounds to each char using JavaScript / jQuery使用 JavaScript / jQuery 将字符串分解为字符并为每个字符附加声音
【发布时间】:2012-12-19 20:28:06
【问题描述】:

我有一个字符串存储在 MySQL 数据库中。

我想从数据库中提取字符串,将其分解为char 元素并将声音文件附加到每个字母。这些字母将显示在网页中,单击时会播放代表该字母的声音。

我曾尝试使用.split() 函数,但没有取得多大成功。有没有人见过类似的东西或者有什么建议吗?

【问题讨论】:

  • 您可以粘贴您尝试过的内容吗?你只是想把“whataggreatsong”分解成什么...?
  • 向我们展示您可以轻松提出解决方案。为什么拆分对您没有帮助?

标签: javascript jquery mysql html css


【解决方案1】:

如果我看这里

Sound effects in JavaScript / HTML5

你可以试试

var chars = "<? echo $string; ?>".split("");
var sounds = [];
$.each(chars,function(i,char) {

  if (!sounds[char]) sounds[char] = new Audio(char+".wav"); // buffers automatically when created
  $("#container").append('<a href="#" onclick="sounds[this.innerHTML].play();return false">'+char+'</a>');
});

【讨论】:

  • 你能编辑你的答案并解释它是如何回答这个问题的吗?
  • 我一直认为避免因长度而自动标记是件好事。
  • 您的答案最初被机器人标记为太短。可能是因为答案是 100% 一个代码块。一个好的答案的特点是展示和讲述,而不仅仅是展示。
【解决方案2】:

拆分比较简单,你可以使用传统的JS,或者jQuery,你需要做的就是将你的标记生成插入到下面。

var str = "No clue what you are trying";
for (var x = 0; x < str.length; x++){
    var myC = str.charAt(x);
    //or var myC = str[x];
    //what do you want to do?
}

//jQuery overkill
$.each(
    str.split(''),
    function( idx, myC ){
        //what do you want to do?
    };
);

【讨论】:

  • 播放歌曲恐怕不是同步操作=>你的方法行不通。
【解决方案3】:
var char = [],
    str, // your string
    i,
    len = str.length
for (i = 0; i < len ; i++){
    char[i] = str.charAt(i);
}

// now you have an array of characters

// setup event handlers for the click action

// setup audio output

【讨论】:

  • 这似乎很有帮助。如果我将“AND”分​​解为“A”“N”“D”。如何动态地将正确的声音附加到每个字符?类似于 if(char[i] == ('a'){ char[i].playclip(a) } 我大致走在正确的轨道上吗?抱歉,我对 javaScript 很陌生。
  • 您说“点击时”,因此您需要为点击事件设置事件处理程序。您还需要为每个字母设置和元素。
猜你喜欢
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
  • 2011-05-31
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多