我正在寻找创建日语学习网站的可能性,并以读者的练习形式进行一些基本的互动。假设我有一个这样的表:
--------------------------------------------
| 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。
所以在HTML表格中我会有类似的东西:
<button onclick='grade("ex1", ["some", "array", "with", "answers"])'
<button onclick='showAnswers("ex1", ["some", "array", "with", "answers"])'
<button onclick='clear("ex1")'
这有效,但有些难看,因为我重复使用相同的论点。那么有人可以提出更好的方法吗?
编辑:每页我需要有多个。
答案 0 :(得分:1)
您可以将答案放在全局变量中,然后将其作为参数传递。 $(document).ready()块中的某个位置 你只需输入
corectAnswers = ["some", "array", "with", "answers"];
并使用
调用函数showAnswers("ex1", correctAnswers);
您可能想要将正确的答案用作函数内部的全局变量,而不是将其作为参数传递,但如果您避免使用它会更好。
如果您没有使用jquery,可以将变量赋值放在页面的第一个块中......