Uname: Linux premium294.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
Software: LiteSpeed
PHP version: 8.1.32 [ PHP INFO ] PHP os: Linux
Server Ip: 104.21.80.1
Your Ip: 216.73.216.165
User: mjbynoyq (1574) | Group: mjbynoyq (1570)
Safe Mode: OFF
Disable Function:
NONE

name : carousel.js
class Carousel {
  #elements;

  constructor(context) {
    this.#setElements();
    this.#start(context);
  }

  #setElements = () => {
    this.#elements = {
      body: document.body,
    };
  };

  #start = (context) => {
    const elementsString = `.gallery-format, .product-entry-slider${
      context ? `, ${context}` : ""
    }`;
    const elements = document.querySelectorAll(elementsString);

    elements.forEach((element) => {
      const flickity = new Flickity(element, {
        autoPlay: element.classList.contains("woo-entry-image") ? false : 7000,
        imagesLoaded: true,
        contain: true,
        rightToLeft: this.#elements.body.classList.contains("rtl")
          ? true
          : false,
      });

      const imgs = element.querySelectorAll(".carousel-cell img");
      // get transform property
      const docStyle = document.documentElement.style;
      const transformProp =
        typeof docStyle.transform == "string" ? "transform" : "WebkitTransform";

      flickity.on("scroll", function () {
        flickity.slides.forEach(function (slide, i) {
          const img = imgs[i];
          let x = ((slide.target + flickity.x) * -1) / 3;
          img.style[transformProp] = "translateX(" + x + "px)";
        });
      });
    });
  };
}

new Carousel();
© 2025 XylotrechusZ