如何从列表中突出显示一个随机单词
How do I highlight a random word from a list
我正在创建一个拖放文字游戏。脚本的这一部分从listOfWords中提取的12个随机单词动态创建一个表我需要用给定的CSS突出显示表中的一个单词,直到它完成,向用户显示要拼写的单词。然后,它会在表中随机选择另一个单词进行拼写,以此类推,直到所有单词都完成。。。。
我已经尝试了各种不同的方法,但无法使其工作,请帮助
var listOfWords = ["mat", "cat", "dog", "pit", "pot", "fog", "log", "pan", "can", "man", "pin", "gag", "sat", "pat", "tap", "sap", "tag", "gig", "gap", "nag", "sag", "gas", "pig", "dig", "got", "not", "top", "pop", "god", "mog", "cot", "cop", "cap", "cod", "kid", "kit", "get", "pet", "ten", "net", "pen", "peg", "met", "men", "mum", "run", "mug", "cup", "sun", "mud", "rim", "ram", "rat", "rip", "rag", "rug", "rot", "dad", "sad", "dim", "dip", "did", "mam", "map", "nip", "tin", "tan", "nap", "sit", "tip", "pip", "sip", "had", "him", "his", "hot", "hut", "hop", "hum", "hit", "hat", "has", "hug", "but", "big", "bet", "bad", "bad", "bed", "bud", "beg", "bug", "bun", "bus", "bat", "bit", "fit", "fin", "fun", "fig", "fan", "fat", "lap", "lot", "let", "leg", "lit"];
var guesses = {};
var shuffledWords = listOfWords.slice(0).sort(function() {
return 0.5 - Math.random();
}).slice(0, 12);
var tbl = document.createElement('table');
tbl.className = 'tablestyle';
var wordsPerRow = 2;
for (var i = 0; i < shuffledWords.length; i += wordsPerRow) {
var row = document.createElement('tr');
for (var j = i; j < i + wordsPerRow; ++j) {
var word = shuffledWords[j];
guesses[word] = [];
for (var k = 0; k < word.length; ++k) {
var cell = document.createElement('td');
$(cell).addClass('drop').attr('data-word', word);
cell.textContent = word[k];
// IF FIREFOX USE cell.textContent = word[j]; INSTEAD
row.appendChild(cell);
}
}
tbl.appendChild(row);
}
document.body.appendChild(tbl);
这是我想应用于拼写所需单词的CSS。。。
.spellword {
-webkit-box-shadow: inset 0px 0px 10px 5px #176BC9;
box-shadow: inset 0px 0px 10px 5px #176BC9;
}
我认为这将是沿着这些路线。。。
var wordToSpell = shuffledWords.slice(0).sort(function() {
return Math.round(Math.random())-0.5
$("wordToSpell").addClass("spellword");
}).slice(0,1);
我也试过这个,但没有快乐。。。
$(document).ready(function() {
var wordToSpell = [
<c:forEach var="word" items="${listOfWords}">'${word}', </c:forEach> // JSP : server-side
];
for (var i = 0; i < wordToSpell.length; i++) {
$('td').highlight(wordToSpell[i]);
}
});
jquery解决方案可以如下所示:
$('#pickNext').click(function(){
// remove the class from all td's
$('td').removeClass('spellword');
// pick a random word
var rndWord = shuffledWords.sort(function() { return 0.5 - Math.random(); })[0];
// apply class to all cells containing a letter from that word
$('td[data-word="' + rndWord + '"]').addClass('spellword');
});
现场示例:http://jsfiddle.net/zWfm3/1/
因此,当您创建树时,您可以向每个树添加一个类,即单词:
$(cell).addClass(word)
然后突出显示:
$(word).addClass("spellword");
是的,您只需更改按钮的名称并使用.mousedown,它的更好
$('.minibutton').mousedown(function() {
$('td').removeClass('spellword');
var randomWord = shuffledWords.sort(
function() {
return 0.8 - Math.random();
}
)[0];
$('td[data-word="' + randomWord + '"]').addClass('spellword');
});
相关文章:
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 从输入值中删除最后一个单词
- 如何查找一个单词在动态创建的html表行中出现的次数
- Regex或javascript每X个连续单词中有一个单词
- Javascript:当这个单词被点击5次时,下面会显示另一个单词
- Javascript/jQuery替换tamil语言输入框中的最后一个单词
- Javascript(如果var包含一个单词,则仅更改该单词的颜色)
- 使用Javascript双击HTML中的空格时,选择上一个和下一个单词
- 检查字符串是否等于一个单词和一个数字
- Regex:使用javascript测试最后一个单词后的url中是否存在最后一个斜杠
- 使jQuery自动完成功能适用于多个单词(“跳过”一个单词)
- 使用JavaScript匹配URL中的最后一个单词
- 添加一个“;以及“;到String-js/Angular中的最后一个单词
- 我怎样才能把p中的一个单词包装在a标签中呢
- 在 javaScript 中定义函数之前,什么意思是“一个单词:”
- UIWeb查看搜索问题中出现的下一个单词
- 计算一个字母在一个单词中出现的次数
- 如何在文本区域中获取最后一个单词的位置
- 如何删除句点和前一个单词之间的空格