0

我正在寻找以练习的形式为读者创建具有一些基本交互性的日语学习网站的可能性。假设我有一张这样的桌子:

--------------------------------------------
| characters | definition | roman letters   |
--------------------------------------------
| こんにちは  | hello       | <input type="text">   |
---------------------------------------------
| ...        |            |  <input type="text">  |
--------------------------------------------
|          <grade button> <show answers button> <clear fields button>
------------------------------------------

因此,用户读取字符,了解定义并用罗马字母将其写入输入字段。当他或她完成后,他可以通过按下评分按钮来检查他的答案,这会将输入的文本标记为红色或绿色。或者他们可以放弃并使用第二个按钮显示答案,然后使用第三个按钮清除答案。

现在这样做的方式是,我有一个表的 ID,并有 3 个 Javascript 函数来完成上述工作。第一个获取 ID 和一组正确答案,然后使用 JQuery 根据正确答案设置所有输入字段的颜色。例如,如果表的 ID 是,#ex1那么我使用选择器#ex1 :text。第二个按钮还需要一个 ID 和一组正确答案。第三个按钮只需要表格的 ID。

所以在我的表格中,我会有类似的东西:

<button onclick='grade("ex1", ["some", "array", "with", "answers"])'

<button onclick='showAnswers("ex1", ["some", "array", "with", "answers"])'

<button onclick='clear("ex1")'

这可行,但有点难看,因为我反复使用相同的论点。那么任何人都可以提出更好的方法吗?

编辑:我需要每页不止一个。

4

1 回答 1

1

您可以将答案放在全局变量中,然后将其作为参数传递。您只需键入 $(document).ready() 块中的某处

corectAnswers = ["some", "array", "with", "answers"]; 

并调用函数

showAnswers("ex1", correctAnswers); 

您可能很想将正确答案用作函数内部的全局变量,而不是将其作为参数传递,但最好避免这样做。

如果您不使用 jquery,您可以将变量赋值放在页面的第一个块中......

于 2013-05-31T07:24:49.350 回答