tool-tip.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. $(document).ready(function(){
  2. var step = 1;
  3. // NEXT
  4. $(".tool-tip-content .tool-tip-button-next").click(function(){
  5. var toolTip = $(this).parents(".tool-tip-reference-layer");
  6. if(step == -1){
  7. step = 0;
  8. }else{
  9. step = parseInt($(toolTip).attr('stepCurrent')) + 1;
  10. }
  11. var itemNext = $('.tool-tip[toolTipStep="' + step + '"]');
  12. if(itemNext.length > 1){
  13. itemNext.each(function(index, el) {
  14. if($(el).parents(".tooltip-multi-item").hasClass('item-current')){
  15. itemNext = $(el);
  16. }
  17. });
  18. }
  19. if(itemNext.length > 0){
  20. var iTop = $(itemNext).offset().top;
  21. var iLeft = $(itemNext).offset().left;
  22. var iWidth = $(itemNext).innerWidth();
  23. var iHeight = $(itemNext).innerHeight();
  24. $(toolTip).fadeOut(400, function() {
  25. if(step == 0){
  26. $('.tool-tip-button-next').text($('.tool-tip-button-next').attr('start'));
  27. }else{
  28. var itemLast = $('.tool-tip[toolTipStep="' + (parseInt(step) + 1) + '"]');
  29. if(itemLast.length == 0){
  30. $('.tool-tip-button-next').text($('.tool-tip-button-next').attr('complete'));
  31. }else{
  32. $('.tool-tip-button-next').text($('.tool-tip-button-next').attr('continue'));
  33. }
  34. }
  35. $('.tool-tip-active').removeClass('tool-tip-active');
  36. $('.tool-tip-overlay').remove();
  37. $(itemNext).parent().append('<div class="tool-tip-overlay"></div>');
  38. $(itemNext).addClass('tool-tip-active');
  39. // Get data tool tip
  40. $(toolTip).attr('stepCurrent', $(itemNext).attr('toolTipStep'));
  41. $(toolTip).removeClass('pos-top pos-bottom pos-left pos-right arrow-right arrow-left');
  42. $(toolTip).addClass('pos-' + $(itemNext).attr('toolTipPos'));
  43. $(toolTip).find('.tool-tip-title').html($(itemNext).attr('toolTipTitle'));
  44. $(toolTip).find('.tool-tip-detail').html($(itemNext).attr('toolTipContent'));
  45. var contentWidth = $(toolTip).find('.tool-tip-content').innerWidth();
  46. if($(itemNext).attr('toolTipPos') == 'left' || $(itemNext).attr('toolTipPos') == 'right'){
  47. if(iLeft !== 0 && iLeft + iWidth + contentWidth + 25 >= window.innerWidth){
  48. $(toolTip).removeClass('pos-right');
  49. $(toolTip).addClass('pos-bottom');
  50. }
  51. if(iLeft !== 0 && iLeft - contentWidth - 25 <= 0){
  52. $(toolTip).removeClass('pos-left');
  53. $(toolTip).addClass('pos-bottom');
  54. }
  55. }
  56. if(iLeft !== 0 && iLeft + iWidth/2 + contentWidth/2 >= window.innerWidth){
  57. $(toolTip).addClass('arrow-right');
  58. }
  59. if(iLeft !== 0 && iLeft + iWidth/2 - contentWidth/2 <= 0){
  60. $(toolTip).addClass('arrow-left');
  61. }
  62. iTop = (iTop==0) ? 'calc(50% + 100px)' : (iTop+'px');
  63. iLeft = (iLeft==0) ? '50%' : (iLeft+'px');
  64. $(toolTip).css({
  65. top: iTop,
  66. left: iLeft,
  67. width: iWidth + 'px',
  68. height: iHeight + 'px'
  69. });
  70. $(toolTip).fadeIn(400, function() {
  71. });
  72. // VOCA
  73. var divParentVoca = $(itemNext).parents(".learning-voca-body");
  74. if(divParentVoca.length > 0){
  75. if(step == 1){
  76. $("body").append('<div class="tool-tip-overlay"></div>');
  77. $(itemNext).parents("#learning-voca-kontext").addClass('tool-tip-active');
  78. $(itemNext).find('.show .flash-card-box').boxSlider('showSlide', 0);
  79. }
  80. if(step == 2){
  81. $("body").append('<div class="tool-tip-overlay"></div>');
  82. $("#learning-voca-kontext .show .learning-fill").append('<div class="tool-tip-overlay"></div>');
  83. $(itemNext).parents('.flash-card-viewport').addClass('tool-tip-active');
  84. $(itemNext).parents("#learning-voca-kontext").addClass('tool-tip-active');
  85. }
  86. if(step == 3){
  87. $('.tool-tip-active').removeClass('tool-tip-active');
  88. $('.tool-tip-overlay').remove();
  89. $(itemNext).parent().parent().append('<div class="tool-tip-overlay"></div>');
  90. $(itemNext).parent().addClass('tool-tip-active');
  91. $("body").append('<div class="tool-tip-overlay"></div>');
  92. $(itemNext).parents("#learning-voca-kontext").addClass('tool-tip-active');
  93. $(itemNext).parents("#learning-voca-kontext").find('.show .flash-card-box').boxSlider('showSlide', 2);
  94. }
  95. }
  96. });
  97. }else{
  98. $(".tool-tip-content .tool-tip-button-skip").trigger('click');
  99. }
  100. });
  101. // SKIP
  102. $(".tool-tip-content .tool-tip-button-skip").click(function(event) {
  103. var toolTip = $(this).parents(".tool-tip-reference-layer");
  104. $(toolTip).fadeOut('slow', function() {
  105. $('.tool-tip-active').removeClass('tool-tip-active');
  106. $('.tool-tip-overlay').remove();
  107. });
  108. });
  109. $(document).on('click','.tool-tip-overlay',function(){
  110. $(".tool-tip-content .tool-tip-button-skip").trigger('click');
  111. });
  112. // START
  113. $(".button-guide").click(function(event) {
  114. step = -1;
  115. $(".tool-tip-content .tool-tip-button-next").trigger('click');
  116. });
  117. // document.addEventListener('click', function(event) {
  118. // if (event.target.className === 'tool-tip-overlay') {
  119. // event.stopPropagation();
  120. // return;
  121. // }
  122. // }, true);
  123. });