用 E4X 和 Prototype 创建 Ajax mindreader 应用程序,第 1 部分: 构建 Twenty Questions 基础结构
2010-03-09 00:00:00 来源:WEB开发网answerOptions 变量包含一个 XMLList,它与 DOM Nodelist 相似。在这个示例中,它包含当前 questionElement 中的所有 answerOption 元素。然后,可以在一个 for each 循环中使用这个列表,引用每个元素并把它添加到适当的 span 中。(首先清除第三个 span,因为在显示第一个问题之后,就不再使用它了。)
在完成的页面上,对于每个 answerOption 元素有一个链接,见图 4。
图 4. 第一个问题
那么,当用户回答这个问题时,会发生什么?
回答问题
当用户回答问题时,需要过滤掉与问题的答案不相符的所有东西。首先,需要获得当前要考虑的一组目标,见清单 8。
清单 8. 获得当前目标
...
var currentQuestion = 1;
var currentTargetSet = knowledgeBase.targets;
//******************************
// BEGIN FUNCTIONS HERE
//******************************
function ask_question(){
...
}
function answer_question(answerSpan){
hide_form("questionFormDiv");
var theAnswer = answerSpan.innerHTML;
var remainingTargets =
currentTargetSet..target.(answer["answerValue"+currentQuestion]==theAnswer);
alert("There are "+remainingTargets.length()+" targets remaining: \n" +
remainingTargets);
}
...
编缉推荐阅读以下文章
- 用 E4X 和 Prototype 创建 Ajax mindreader 应用程序,第 2 部分: 使 mindreader 应用程序更智能化
更多精彩
赞助商链接