因此,带有“点亮”的字母表示要拼写的单词的表是我们正在尝试修复的位,对吗?
你想让单词“换行”到那张桌子的宽度吗?
我看到您正在从每个<td>
s 'data-word=' 属性中获取数据 - 您可以轻松地将其归因于 html5 中的 div。它必须是一张桌子有什么特别的原因吗?否则,您可以使用具有固定宽度的包装 div 并将<td>
s 替换为子 div 设置 float:left - 这些将自动“换行”,而不管最后一行与任何给定单词的字母的位置无关 - 即,它会打破新行。
<style>
.letters_wrap{
width:500px;
height:auto;
...
}
.letter{
width:50px;
height:50px;
float:left;
...
}
</style>
<div class="letters_wrap">
<div class="letter" id="letter_1" data-word="shin">s</div>
<div class="letter" id="letter_1" data-word="shin">h</div>
<div class="letter" id="letter_1" data-word="shin">i</div>
<div class="letter" id="letter_1" data-word="shin">n</div>
</div>
让我知道我是否至少对问题的正确性以及您要实现的目标有所了解。
小号
更新
@m0onio - 在演示页面中,我绑定了将 php 文件(以及单词列表)加载到按钮的函数。
$(document).ready(){}
一旦 DOM 可用,您将在函数中执行该函数,使包含单词列表的 javascript 数组可用。
您需要编写一个 javascript 函数(包含在结束</body>
标记之前)来处理网格中子 div 的构造,并从加载 php 文件(wordlist)的 .load() 的回调函数中调用它。
要附加声音和图像,我还会将该信息包含在 txt 文件中,以便文件的内容可以运行:word | 图片文件名 | 声音文件名,然后当您遍历数组时,您知道每个第一个元素是单词,第二个相关图像是第三个声音文件等。然后使用 jquery 将结果元素(子 div)附加到它的父容器。有道理?