progress.js 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. $(document).ready(function () {
  2. $('.progress-item span').click(function () {
  3. let className = $(this).attr("class").split(' ')[0];
  4. // 錨點
  5. $('html,body').animate({ scrollTop: $(`#${className}`).offset().top }, 300);
  6. let percent = '';
  7. if (className === "journey") {
  8. percent = '20'
  9. } else if (className === "team") {
  10. percent = '40'
  11. } else if (className === "ai-ad") {
  12. percent = '60'
  13. } else if (className === "seo") {
  14. percent = '80'
  15. } else if (className === "ai-video") {
  16. percent = '100'
  17. }
  18. // if (className === "journey") {
  19. // percent = '17'
  20. // } else if (className === "team") {
  21. // percent = '34'
  22. // } else if (className === "ai-ad") {
  23. // percent = '51'
  24. // } else if (className === "seo") {
  25. // percent = '68'
  26. // } else if (className === "ai-video") {
  27. // percent = '85'
  28. // } else if (className === "blog") {
  29. // percent = '100'
  30. // }
  31. if ($(this).hasClass('info')) {
  32. $('#progress-bar').val('0');
  33. $(this).nextAll().removeClass('border-change');
  34. } else if ($(this).hasClass(className)) {
  35. // $(this).nextAll().removeClass('border-change');
  36. $('#progress-bar').val(percent);
  37. $(this).prevAll().addClass('border-change');
  38. $(this).addClass('border-change');
  39. }
  40. });
  41. });
  42. var scroll = 0;
  43. let scrollVal = '';
  44. $(window).scroll(function () {
  45. console.log($('#info').offset().top);
  46. // 於特定區塊顯示進度條
  47. if ($(this).scrollTop() > $('#info').offset().top - 200) {
  48. $(".progress-item").css("opacity", "1");
  49. } else if ($(this).scrollTop() < $('#info').offset().top) {
  50. $(".progress-item").css("opacity", "0");
  51. }
  52. if ($(this).scrollTop() > $('#blog').offset().top - 700) {
  53. $(".progress-item").css("opacity", "0");
  54. }
  55. // 依捲軸高度調整 progress-bar value
  56. if ($(this).scrollTop() > $('#info').offset().top - 100 && $(this).scrollTop() < $('#info').offset().top + 50) {
  57. scrollVal = '0';
  58. $('.info').nextAll().removeClass('border-change');
  59. } else if ($(this).scrollTop() > $('#journey').offset().top - 100 && $(this).scrollTop() < $('#journey').offset().top + 50) {
  60. scrollVal = '20';
  61. $('.journey').nextAll().removeClass('border-change');
  62. $('.journey').prevAll().addClass('border-change');
  63. $('.journey').addClass('border-change');
  64. } else if ($(this).scrollTop() > $('#team').offset().top - 100 && $(this).scrollTop() < $('#team').offset().top + 50) {
  65. scrollVal = '40';
  66. $('.team').nextAll().removeClass('border-change');
  67. $('.team').prevAll().addClass('border-change');
  68. $('.team').addClass('border-change');
  69. } else if ($(this).scrollTop() > $('#ai-ad').offset().top - 100 && $(this).scrollTop() < $('#ai-ad').offset().top + 50) {
  70. scrollVal = '60';
  71. $('.ai-ad').nextAll().removeClass('border-change');
  72. $('.ai-ad').prevAll().addClass('border-change');
  73. $('.ai-ad').addClass('border-change');
  74. } else if ($(this).scrollTop() > $('#seo').offset().top - 100 && $(this).scrollTop() < $('#seo').offset().top + 50) {
  75. scrollVal = '80';
  76. $('.seo').nextAll().removeClass('border-change');
  77. $('.seo').prevAll().addClass('border-change');
  78. $('.seo').addClass('border-change');
  79. } else if ($(this).scrollTop() > $('#ai-video').offset().top - 100 && $(this).scrollTop() < $('#ai-video').offset().top + 500) {
  80. scrollVal = '100';
  81. $('.ai-video').nextAll().removeClass('border-change');
  82. $('.ai-video').prevAll().addClass('border-change');
  83. $('.ai-video').addClass('border-change');
  84. }
  85. // else if ($(this).scrollTop() > $('#blog').offset().top - 100 && $(this).scrollTop() < $('#blog').offset().top + 50) {
  86. // scrollVal = '100';
  87. // $('.blog').addClass('border-change');
  88. // }
  89. $('#progress-bar').val(scrollVal);
  90. })