有時在網頁中要加入一個在線測試功能,例如在線調查,在線測試各類知識等應用,這類應用需要用到很多前後端技能。今天我給大家分享一個基於jQuery的前端應用——測試答題功能。
HTML
首先載入jquery庫文件和quiz.js以及所需的CSS樣式文件styles.css。
復制代碼
代碼如下:
然後在需要放置測試題的位置加入div#quiz-container。
復制代碼
代碼如下:
jQuery
首先,我們定義題目和答案選項,question是題目,answers是答案選項,correctAnswer是正確答案。可以看出定義的init是一個json數據格式。
復制代碼
代碼如下:
var init={'questions':[{'question':'jQuery是什麼?','answers':['JavaScript庫','CSS庫','PHP框架','以上都不是'],'correctAnswer':1},{'question':'找出不同類的一項?','answers':['寫字台','沙發','電視','桌布'],'correctAnswer':3},{'question':'國土面積最大的國家是:','answers':['美國','中國','俄羅斯','加拿大'],'correctAnswer':3},{'question':'月亮距離地球多遠?','answers':['18萬公裡','38萬公裡','100萬公裡','180萬公裡'],'correctAnswer':2}]};
接下來,我們直接調用quiz.js提供的插件方法,然後打開頁面是不是可以看到已經在頁面上生成了一個在線測試項目。
復制代碼
代碼如下:
$(function(){
$('#quiz-container').jquizzy({
questions: init.questions
});
});
那麼,要修改定制測試題樣式布局,可以到quiz.js和styles.css兩文件中做適當修改。
疑問
到這裡,細心的朋友就會發現,問題來了:
1、直接將題目的正確答案標記在js代碼中,是不是不安全?正規的測試項目答案是不是應該在後台判斷,以免有人查看源代碼直接獲取正確答案。
2、如何與後台交互?比如測試答題前先驗證身份,答題完後將結果發送給後台。
我想說的是,這是一個前端代碼演示項目,真正的應用答案是不會出現在前端代碼中的;quiz.js其實已經有與後台ajax交互的接口,我們會在後面的文章中做詳細介紹