无论网格中有多少单词,都要设置网格集大小
Making grid set size no matter how many words are in it
我有一个由3个字母组成的单词列表,这些单词可以动态生成网格。
问题是我需要一个6x6的网格,如果列表中没有足够的单词来实现6x6(12个单词),那么它就不是所需的大小,只能是一个和其中单词一样大的网格。
我如何使它始终生成一个6x6的网格,随机生成单词的位置,并用空单元格填充空白?
var listOfWords = {};
var ul = document.getElementById("wordlist");
var i;
for(i = 0; i < ul.children.length; ++i){
listOfWords[ul.children[i].getAttribute("data-word")] = {
"pic" : ul.children[i].getAttribute("data-pic"),
"audio" : ul.children[i].getAttribute("data-audio")
};
}
console.log(listOfWords);
var shuffledWords = Object.keys(listOfWords).slice(0).sort(function() {
return 0.5 - Math.random();
}).slice(0, 12);
var guesses = {}
console.log(shuffledWords);
var tbl = document.createElement('table');
tbl.className = 'tablestyle';
var wordsPerRow = 2;
for (var i = 0; i < Object.keys(shuffledWords).length - 1; 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);
我已经试过了,但无法发挥作用。。。。
while(listOfWords.length < 12)
listOfWords.push(" ");
您之前是否尝试过创建具有所需大小的表,然后将单词放入随机的td和tr中?
相关文章:
- 如何在剑道网格初始化后设置pageSizes
- 如何在可分组的剑道网格中设置空数据文本
- 在有角度的ui网格中设置动态列的问题
- 如何在three.js中设置网格绘制的动画
- 在网格视图的自动刷新过程中,设置内部网格视图文本框的可见性
- 如何在javascript中设置网格组合框值
- 回调以设置postdata,而无需重新加载网格
- 在Kendo UI中将网格pageSize设置为变量
- 在剑道网格中,我可以用一个函数动态设置列属性吗
- 无论网格中有多少单词,都要设置网格集大小
- 设置新网格行的动画
- 我们如何在dojo树网格中设置孩子
- 将列设置为在EasyUI数据网格上按排序显示
- 无法设置属性'网格'的未定义
- 如何在后台网格中将特定的可编辑单元格设置为不可编辑
- UI 网格设置列顺序
- 在 Dojo 增强网格筛选器栏上设置状态文本
- 当网格视图设置为 true 时,Jqgrid 在 IE9 中显示“正在加载”
- Dojo 数据网格:设置有条件的可编辑列(在运行时更改)
- 如何从子网格设置默认表单