bhousev2.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. // document.addEventListener('DOMContentLoaded', function() {
  2. $('.bhousev2_banner_slide').slick({
  3. arrows: false,
  4. dots: false,
  5. infinite: true,
  6. autoplay: true,
  7. autoplaySpeed: 3000,
  8. });
  9. // });
  10. $('.bhousev2_sec07_slide').slick({
  11. infinite: true,
  12. slidesToShow: 4,
  13. slidesToScroll: 1,
  14. prevArrow: '<div class="slick-prev"><img class="img-fluid" src="/img/bhousev2_img/arrowleft.png" alt=""></div>',
  15. nextArrow: '<div class="slick-next"><img class="img-fluid" src="/img/bhousev2_img/arrowright.png" alt=""></div>',
  16. responsive: [
  17. , {
  18. breakpoint: 768,
  19. settings: {
  20. arrows: false,
  21. slidesToShow: 1,
  22. slidesToScroll: 1,
  23. infinite: true,
  24. }
  25. },
  26. , {
  27. breakpoint: 767,// RWD在600寬度時切換顯示數量
  28. settings: {
  29. arrows: true,
  30. slidesToShow: 1,
  31. infinite: false,
  32. }
  33. },
  34. ]
  35. });
  36. $('.bhousev2_sec04_slide').slick({
  37. infinite: true,
  38. slidesToShow: 1,
  39. // slidesToScroll: 1
  40. dots: true,
  41. prevArrow: '<div class="slick-prev"><img class="img-fluid" src="/img/bhousev2_img/arrow-left.png" alt=""></div>',
  42. nextArrow: '<div class="slick-next"><img class="img-fluid" src="/img/bhousev2_img/arrow-right.png" alt=""></div>',
  43. responsive: [
  44. , {
  45. breakpoint: 767,// RWD在600寬度時切換顯示數量
  46. settings: {
  47. slidesToShow: 1,
  48. infinite: true,
  49. dots: false,
  50. }
  51. },
  52. ]
  53. });
  54. // function changeIcon(e) {
  55. // const item = document.querySelector('[data-toggle-class]');
  56. // item.className === "close-btn" ? item.className = "navbar-toggler-icon" : item.className = "close-btn";
  57. // }
  58. // $(document).on("click", "#menutoggle", function (event) {
  59. // $('.nav-mobile ').toggleClass("bg-3C7062")
  60. // });
  61. var targetElement = document.getElementById('target');
  62. var isTriggered = false;
  63. function animateNumber(targetElement, startValue, endValue, duration) {
  64. var currentVal = startValue;
  65. var increment = (endValue - startValue) / (duration / 30);
  66. var timer = setInterval(function () {
  67. currentVal += increment;
  68. var currentVal2 = formatNumberWithCommas(currentVal);
  69. console.log(currentVal2);
  70. targetElement.textContent = currentVal2;
  71. if (currentVal >= endValue) {
  72. var endValue2 = formatNumberWithCommas(endValue)
  73. targetElement.textContent = endValue2;
  74. clearInterval(timer);
  75. return;
  76. }
  77. }, 32);
  78. }
  79. function handleScroll() {
  80. if (!isTriggered) {
  81. // 执行你的函数或操作
  82. console.log("触发函数一次");
  83. // 在函数中取消滚动事件监听,确保函数只触发一次
  84. animateNumber(targetElement, 1000, 2500, 2000);
  85. isTriggered = true;
  86. }
  87. }
  88. window.addEventListener('scroll', function () {
  89. // 获取目标 HTML 元素的位置信息
  90. var targetPosition = targetElement.getBoundingClientRect().top;
  91. // 检查元素位置是否进入视窗范围
  92. if (targetPosition <= window.innerHeight) {
  93. handleScroll();
  94. }
  95. });
  96. function formatNumberWithCommas(number) {
  97. var integerPart = Math.floor(number); // 取整数部分
  98. var formattedIntegerPart = integerPart.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  99. return formattedIntegerPart;
  100. }
  101. var number = 25000;
  102. var formattedNumber = formatNumberWithCommas(number);
  103. // console.log(formattedNumber); // 输出: "25,000"
  104. var number2 = 2500;
  105. var formattedNumber2 = formatNumberWithCommas(number2);