learning-flashcard.js 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. $(function () {
  2. var topicId = $('#hidden-topicid').val();
  3. var parentTopic = $('#hidden-parent').val();
  4. $("#learning-theory-kontext .flash-card-box").each(function () {
  5. var index = $(this).attr('index');
  6. var defaultOptions = {
  7. speed: 600
  8. , timeout: 300
  9. , next: '#learning-theory-box-' + (index) + " .learning-theory-flash-card-content"
  10. , prev: '#prev'
  11. , pause: '#pause'
  12. };
  13. $("#learning-theory-box-" + (index)).boxSlider(defaultOptions);
  14. });
  15. $('.flash-card-box').boxSlider('option', 'onafter', function ($previousSlide, $currentSlide, currIndex, nextIndex) {
  16. if (nextIndex == 1) {
  17. //playSound($($currentSlide).find('.card-content-type .card-content-sound'), function () {
  18. //playSound($($currentSlide).find('.card-content-example .card-content-sound'));
  19. //});
  20. }
  21. });
  22. $('.flash-card-box').boxSlider('option', 'onbefore', function ($currentSlide, $nextSlide, currIndex, nextIndex) {
  23. if ($($nextSlide).find('.card-img img').attr('src') == '' || $($nextSlide).find('.card-img img').attr('src') == undefined) {
  24. $($nextSlide).find('.card-img img').attr('src', $(this).attr('img_url'));
  25. }
  26. });
  27. // Create a new instance of kontext
  28. var k = kontext(document.querySelector('#learning-theory-kontext'));
  29. $(".learning-main-process-value").width((k.getIndex() + 1) * 100 / k.getTotal() + '%');
  30. // API METHODS:
  31. // k.prev(); // Show prev layer
  32. // k.next(); // Show next layer
  33. // k.show( 3 ); // Show specific layer
  34. // k.getIndex(); // Index of current layer
  35. // k.getTotal(); // Total number of layers
  36. var clickNext = 1;
  37. var face = 0;
  38. $(document).on("click", ".learning-theory-button.button-next", function () {
  39. if (k.getIndex() < k.getTotal() - 1 && clickNext == 1) {
  40. $('.exercise-current').removeClass('show-answer-right');
  41. $('.exercise-current').removeClass('show-answer-wrong');
  42. $('.learning-fill-word').val('');
  43. clickNext = 0;
  44. setTimeout(function () {
  45. clickNext = 1;
  46. }, 1000);
  47. var indexCurrent = parseInt($(".kontext .layer.show .flash-card-box").attr('index'));
  48. var next_1 = $("#learning-theory-box-" + (indexCurrent + 1));
  49. var next_2 = $("#learning-theory-box-" + (indexCurrent + 2));
  50. if (next_1.length > 0) {
  51. if ($(next_1).find('.slide:first-child .card-img img').attr('src') == '' || $(next_1).find('.slide:first-child .card-img img').attr('src') == undefined) {
  52. $(next_1).find('.slide:first-child .card-img img').attr('src', $(next_1).attr('img_url'));
  53. }
  54. //playSound($("#learning-theory-box-" + indexCurrent).find('.card-content-type .card-content-sound'));
  55. }
  56. if (next_2.length > 0) {
  57. if ($(next_2).find('.slide:first-child .card-img img').attr('src') == '' || $(next_2).find('.slide:first-child .card-img img').attr('src') == undefined) {
  58. $(next_2).find('.slide:first-child .card-img img').attr('src', $(next_2).attr('img_url'));
  59. }
  60. }
  61. k.next();
  62. face = 0;
  63. $(".learning-main-process-value").width((k.getIndex() + 1) * 100 / k.getTotal() + '%');
  64. $('.layer').removeClass('exercise-current');
  65. $('.layer.show').addClass('exercise-current');
  66. setTimeout(function () {
  67. $(".exercise-current .learning-fill-word").focus();
  68. }, 500);
  69. } else {
  70. if (clickNext == 1) {
  71. var link = $('#complete-link').val();
  72. window.location.href = link;
  73. }
  74. }
  75. });
  76. $(document).on("click", ".learning-theory-button.button-back", function () {
  77. if (k.getIndex() > 0 && clickNext == 1) {
  78. $('.exercise-current').removeClass('show-answer-right');
  79. $('.exercise-current').removeClass('show-answer-wrong');
  80. $('.learning-fill-word').val('');
  81. clickNext = 0;
  82. setTimeout(function () {
  83. clickNext = 1;
  84. }, 1000);
  85. var indexCurrent = parseInt($(".kontext .layer.show .flash-card-box").attr('index'));
  86. playSound($("#learning-theory-box-" + indexCurrent).find('.card-content-type .card-content-sound'));
  87. k.prev();
  88. face = 0;
  89. $(".learning-main-process-value").width((k.getIndex() + 1) * 100 / k.getTotal() + '%');
  90. $('.layer').removeClass('exercise-current');
  91. $('.layer.show').addClass('exercise-current');
  92. setTimeout(function () {
  93. $(".exercise-current .learning-fill-word").focus();
  94. }, 500);
  95. }
  96. });
  97. document.addEventListener('keyup', function (event) {
  98. if (event.keyCode === 37) {
  99. $('.learning-theory-button.button-back').trigger('click');
  100. } else if (event.keyCode === 39) {
  101. $('.learning-theory-button.button-next').trigger('click');
  102. } else if (event.keyCode === 40) {
  103. if (face == 1) {
  104. face = 0;
  105. } else {
  106. face++;
  107. }
  108. $('.layer.show').find('.flash-card-box').boxSlider('showSlide', face);
  109. } else if (event.keyCode === 38) {
  110. if (face == 0) {
  111. face = 1;
  112. } else {
  113. face--;
  114. }
  115. $('.layer.show').find('.flash-card-box').boxSlider('showSlide', face);
  116. } else if (event.keyCode === 13) {
  117. if (!$('.exercise-current').find('.learning-fill-word').is(':focus')) {
  118. $(".learning-theory-button.button-next").trigger('click');
  119. }
  120. }
  121. event.preventDefault();
  122. }, false);
  123. $(".learning-theory-flashcard .card-content-example .example-button").click(function (event) {
  124. event.stopPropagation();
  125. if ($(this).hasClass('example-show')) {
  126. $(this).removeClass('example-show');
  127. $(this).parents('.card-content').find('.card-content-example-translate').slideUp(400);
  128. } else {
  129. $(this).addClass('example-show');
  130. $(this).parents('.card-content').find('.card-content-example-translate').slideDown(400);
  131. }
  132. });
  133. $(".card-content-collocations").click(function (event) {
  134. event.stopPropagation();
  135. $('#modal-collocations').modal();
  136. });
  137. $(".main-sound-play").click(function (event) {
  138. event.stopPropagation();
  139. playSound(this);
  140. });
  141. });
  142. $(document).ready(function () {
  143. $('.card-content-collocations').click(function () {
  144. var content = $(this).attr('content');
  145. $('#modal-collocations .collocations-content').html(content);
  146. $('#modal-collocations').modal();
  147. });
  148. //check write word by enter key
  149. $('.learning-fill-word').keyup(function (e) {
  150. $('.exercise-current').removeClass('show-answer-right');
  151. $('.exercise-current').removeClass('show-answer-wrong');
  152. if (e.keyCode == 13) {
  153. $('.exercise-current').find('.btn-learning-check').trigger('click');
  154. }
  155. });
  156. $('.btn-learning-check').click(function () {
  157. var answer = $('.exercise-current').find('.learning-fill-word').val();
  158. if (answer.trim() != "" && !$('.exercise-current').hasClass('show-answer-right') && !$('.exercise-current').hasClass('show-answer-right')) {
  159. var right = $('.exercise-current').attr('words');
  160. if (answer.toLowerCase().trim() == right.toLowerCase().trim()) {
  161. $('.exercise-current').addClass('show-answer-right');
  162. setTimeout(function () {
  163. $('.exercise-current').find('.learning-fill-word').blur();
  164. }, 1000);
  165. soundAnswerRight();
  166. $('.layer.show').find('.flash-card-box').boxSlider('showSlide', 1);
  167. } else {
  168. $('.exercise-current').addClass('show-answer-wrong');
  169. soundAnswerWrong();
  170. }
  171. }
  172. });
  173. });