viewchapter.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. $(function()
  2. {
  3. var focused = false;
  4. $('.detail-action').on('click', function ()
  5. {
  6. if(!focused)
  7. {
  8. $('body').addClass('focused');
  9. $('.side-col').hide()
  10. focused = true;
  11. }
  12. else
  13. {
  14. $('body').removeClass('focused');
  15. $('.side-col').show()
  16. focused = false;
  17. }
  18. });
  19. $('body').addClass('fullscreen');
  20. $('#mainMenu .fullscreen-btn').click(function()
  21. {
  22. $('.side-col').toggleClass('hidden');
  23. $('body').toggleClass('fullscreen');
  24. if($('body').hasClass('fullscreen'))
  25. {
  26. $('#mainMenu .fullscreen-btn').attr('title', retrack);
  27. $('#mainMenu .fullscreen-btn').html('<i class="icon icon-fullscreen"></i> ' + retrack);
  28. }
  29. else
  30. {
  31. $('#mainMenu .fullscreen-btn').attr('title', fullscreen);
  32. $('#mainMenu .fullscreen-btn').html('<i class="icon icon-fullscreen"></i> ' + fullscreen);
  33. }
  34. });
  35. $(document).on('click', '#finishButton', function()
  36. {
  37. $.get(createLink('traincourse', 'ajaxFinishChapter', "chapter=" + chapterID + "&course=" + courseID), function(data)
  38. {
  39. data = $.parseJSON(data);
  40. if(data.result == false)
  41. {
  42. if(data.locate != undefined) location.href = data.locate;
  43. if(data.message != undefined) alert(data.message);
  44. }
  45. else
  46. {
  47. location.href = data.locate;
  48. }
  49. })
  50. });
  51. parent.$(parent.document).on('beforereloadapp', function()
  52. {
  53. beforeAppReload();
  54. });
  55. })
  56. /** Callback before app loading */
  57. function beforeAppReload()
  58. {
  59. /* Fix video stream blocking */
  60. $('video').each(function()
  61. {
  62. var $video = $(this);
  63. var src = $video.prop('src');
  64. var currentTime = $video[0].currentTime;
  65. $video[0].pause();
  66. $video.prop('src', '');
  67. $video.find('source').remove();
  68. $video[0].load();
  69. $video.prop('src', src);
  70. $video[0].currentTime = currentTime;
  71. $video[0].load();
  72. });
  73. }
  74. function showError()
  75. {
  76. $('.playfailed').show();
  77. }