可定制 动态测验插件 jQuery Quiz.js

  • 源码大小:28.32KB
  • 所需积分:1积分
  • 源码编号:19JP-3082
  • 浏览次数:627次
  • 最后更新:2023年05月04日
  • 所属栏目:其他
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

jQuery quiz.js是一个小型的跨浏览器jQuery插件,用于在网页上动态生成无限制的测验和调查。

特征:

  • 无限数量的问题和答案。
  • 自定义正确/不正确的回答。
  • 自定义计数器。
  • 自定义控件。
  • 允许不正确或不允许。
  • 回调函数。

参见:

  • Pretty&Dynamic Quizzes插件-SlickQuiz
  • 纯JavaScript中的简易动态测验插件âysQuiz.js

如何使用它:

1.在网页的标题中包含插件的样式表。

  1. <link rel="stylesheet" href="/dist/jquery.quiz-min.css">

2.为测验创建HTML。

  1. <div id="quiz">
  2. <div id="quiz-header">
  3. <h1>Quiz Example</h1>
  4. <p><a id="quiz-home-btn">Quiz Home</a></p>
  5. </div>
  6. <div id="quiz-start-screen">
  7. <p>
  8. <a href="#" id="quiz-start-btn" class="quiz-button">Start Quiz</a>
  9. </p>
  10. </div>
  11. </div>

3.在网页底部包含jQuery库和jQuery quiz.js的缩小版。

  1. <script src="https://code.jquery.com/jquery-1.12.4.min.js"
  2. integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ"
  3. crossorigin="anonymous"></script>
  4. <script src="/dist/jquery.quiz-min.js"></script>

4.在JavaScript中定义您自己的问题、选项(答案)、正确索引和自定义正确/错误消息。

  1. const myQuiz = [
  2. {
  3. 'q': 'A smaple question?',
  4. 'options': [
  5. 'Answer 1',
  6. 'Answer 2',
  7. 'Answer 3',
  8. 'Answer 4'
  9. ],
  10. 'correctIndex': 1,
  11. 'correctResponse': 'Custom correct response.',
  12. 'incorrectResponse': 'Custom incorrect response.'
  13. },
  14. {
  15. 'q': 'A smaple question?',
  16. 'options': [
  17. 'Answer 1',
  18. 'Answer 2'
  19. ],
  20. 'correctIndex': 1,
  21. 'correctResponse': 'Custom correct response.',
  22. 'incorrectResponse': 'Custom incorrect response.'
  23. },
  24. {
  25. 'q': 'A smaple question?',
  26. 'options': [
  27. 'Answer 1',
  28. 'Answer 2',
  29. 'Answer 3',
  30. 'Answer 4'
  31. ],
  32. 'correctIndex': 2,
  33. 'correctResponse': 'Custom correct response.',
  34. 'incorrectResponse': 'Custom incorrect response.'
  35. },
  36. {
  37. 'q': 'A smaple question?',
  38. 'options': [
  39. 'Answer 1',
  40. 'Answer 2'
  41. ],
  42. 'correctIndex': 1,
  43. 'correctResponse': 'Custom correct response.',
  44. 'incorrectResponse': 'Custom incorrect response.'
  45. },
  46. {
  47. 'q': 'A smaple question?',
  48. 'options': [
  49. 'Answer 1',
  50. 'Answer 2',
  51. 'Answer 3',
  52. 'Answer 4'
  53. ],
  54. 'correctIndex': 3,
  55. 'correctResponse': 'Custom correct response.',
  56. 'incorrectResponse': 'Custom incorrect response.'
  57. }
  58. ]

5.在网页上生成一个默认测验。

  1. $('#quiz').quiz({
  2. questions: myQuiz
  3. });

6.通过覆盖以下选项来自定义测验。

  1. $('#quiz').quiz({
  2.  
  3. // allows incorrect options
  4. allowIncorrect: true,
  5.  
  6. // counter settings
  7. counter: true,
  8. counterFormat: '%current/%total',
  9.  
  10. // default selectors & format
  11. startScreen: '#quiz-start-screen',
  12. startButton: '#quiz-start-btn',
  13. homeButton: '#quiz-home-btn',
  14. resultsScreen: '#quiz-results-screen',
  15. resultsFormat: 'You got %score out of %total correct!',
  16. gameOverScreen: '#quiz-gameover-screen',
  17.  
  18. // button text
  19. nextButtonText: 'Next',
  20. finishButtonText: 'Finish',
  21. restartButtonText: 'Restart'
  22. });

7.提供回调功能。

  1. $('#quiz').quiz({
  2.  
  3. answerCallback: function(currentQuestion, selected, questions[currentQuestionIndex]){
  4. // do something
  5. },
  6.  
  7. nextCallback: function(){
  8. // do something
  9. },
  10.  
  11. finishCallback: function(){
  12. // do something
  13. },
  14.  
  15. homeCallback: function(){
  16. // do something
  17. }
  18.  
  19. resetCallback: function(){
  20. // do something
  21. },
  22.  
  23. setupCallback: function(){
  24. // do something
  25. },
  26.  
  27. });

更新日志:

2023-04-13

  • 添加amd支持和重构,允许在一个页面上进行多个测验

2022-05-20

  • 将测验结果容器添加到自定义结果屏幕演示

2021-11-12

  • 错误修复:如果只有一个问题,问答不再失败

2021-05-15

  • 更新依赖项

2021-04-27

  • 添加设置和重置回调

预览截图