Warning: Trying to access array offset on value of type null in /home/u171223590/domains/fibratin.com/public_html/wp-content/plugins/wp-store-locator/inc/wpsl-exclude-optimization.php on line 79 Home - Fibratin
Fibratin's exclusive deals, only on Shopee Mall this November 3th, 2025.
Fibratin's exclusive deals, only on Shopee Mall this November 3th, 2025.
jQuery(document).ready(function ($) {
// Bungkus hanya section tanpa mengubah styling
if (!$(".custom-slider-container").length) {
$("#section-1").wrapAll('
');
}let slider = $(".custom-slider");
let slides = $(".custom-slider > .elementor-section");
let totalSlides = slides.length;// Gandakan slides untuk efek infinite loop
slides.clone().appendTo(slider);let index = 0;
let slideWidth = $(".custom-slider > .elementor-section").outerWidth();
function autoSlide() {
index++;
slider.css("transition", "transform 1.5s ease-in-out");
slider.css("transform", `translateX(-${index * slideWidth}px)`);// Jika sampai di akhir slide, reset ke awal tanpa animasi (efek looping)
if (index >= totalSlides) {
setTimeout(() => {
slider.css("transition", "none");
slider.css("transform", "translateX(0px)");
index = 0;
}, 1500);
}
}let slideInterval = setInterval(autoSlide, 4000); // Auto scroll lebih lambat// Swipe manual (Touch Events)
let startX = 0;
let isDragging = false;slider.on("touchstart mousedown", function (e) {
isDragging = true;
startX = e.type === "touchstart" ? e.originalEvent.touches[0].clientX : e.clientX;
slider.css("transition", "none");
clearInterval(slideInterval); // Hentikan auto slide saat swipe
});$(document).on("touchmove mousemove", function (e) {
if (!isDragging) return;
let moveX = e.type === "touchmove" ? e.originalEvent.touches[0].clientX : e.clientX;
let diff = startX - moveX;
slider.css("transform", `translateX(-${index * slideWidth + diff}px)`);
});$(document).on("touchend mouseup", function (e) {
if (!isDragging) return;
isDragging = false;
let endX = e.type === "touchend" ? e.originalEvent.changedTouches[0].clientX : e.clientX;
let diff = startX - endX;if (diff > 50) {
index++;
} else if (diff < -50) {
index--;
}if (index = totalSlides) index = totalSlides - 1;slider.css("transition", "transform 0.5s ease-in-out");
slider.css("transform", `translateX(-${index * slideWidth}px)`);slideInterval = setInterval(autoSlide, 4000); // Restart auto slide setelah swipe
});
});
Aplikator hair filler membantu menutupi area rambut yang tipis dengan hasil tampak alami. Cukup disemprotkan pada area tipis.
HAIR FiLLER
Dengan serat kapas alami, serat mikroskopis akan menempel para helaian rambut untuk menutupi area rambut yang tipis atau jarang dengan efek alami dan instan. Cocok untuk semua jenis rambut, tahan lama, dan mudah diaplikasikan.
document.addEventListener("DOMContentLoaded", function() {
let sliderSection = document.querySelector(".my-slider-section .elementor-container");
let columns = Array.from(document.querySelectorAll(".my-slider-section .elementor-column"));// Hilangkan column terakhir (yang untuk HTML)
let lastColumn = columns[columns.length - 1];
lastColumn.remove();// Bungkus semua column dalam satu div agar bisa digeser
let sliderWrapper = document.createElement("div");
sliderWrapper.classList.add("my-slider-wrapper");// Duplikasi slide pertama agar looping lebih smooth
let firstClone = columns[0].cloneNode(true);
sliderWrapper.append(...columns, firstClone);sliderSection.appendChild(sliderWrapper);let index = 0;
let autoSlide;
let totalSlides = columns.length;function nextSlide() {
index++;
sliderWrapper.style.transition = "transform 0.5s ease-in-out";
sliderWrapper.style.transform = `translateX(-${index * 100}%)`;// Reset posisi tanpa animasi saat mencapai clone slide
if (index === totalSlides) {
setTimeout(() => {
sliderWrapper.style.transition = "none";
sliderWrapper.style.transform = `translateX(0)`;
index = 0;
}, 500);
}
}function prevSlide() {
index--;
if (index {
sliderWrapper.style.transition = "transform 0.5s ease-in-out";
index--;
sliderWrapper.style.transform = `translateX(-${index * 100}%)`;
}, 20);
} else {
sliderWrapper.style.transition = "transform 0.5s ease-in-out";
sliderWrapper.style.transform = `translateX(-${index * 100}%)`;
}
}function startAutoSlide() {
autoSlide = setInterval(nextSlide, 3000);
}function stopAutoSlide() {
clearInterval(autoSlide);
}startAutoSlide(); // Jalankan auto-slide// Pause saat hover
sliderSection.addEventListener("mouseenter", stopAutoSlide);
sliderSection.addEventListener("mouseleave", startAutoSlide);// Tambahkan arrow button
let arrowLeft = document.createElement("div");
arrowLeft.classList.add("slider-arrow", "arrow-left");
arrowLeft.innerHTML = "❮"; // Simbol
arrowRight.addEventListener("click", nextSlide);sliderSection.parentElement.appendChild(arrowLeft);
sliderSection.parentElement.appendChild(arrowRight);
});.my-slider-section {
position: relative;
}.my-slider-section .elementor-container {
display: flex;
overflow: hidden;
position: relative;
}.my-slider-wrapper {
display: flex;
transition: transform 0.5s ease-in-out;
width: 100%;
}.my-slider-section .elementor-column {
min-width: 100%;
}/* Sembunyikan column tambahan */
/*.my-slider-section .elementor-container > .elementor-column:last-child {*/
/* display: none;*/
/*}*//* Arrow Style */
.slider-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
font-size: 24px;
color: black;
cursor: pointer;
z-index: 10;
}.arrow-left {
left: 10px;
}.arrow-right {
right: 10px;
}
beFoRe & AFter
hAir FiLlER DeTaiL
ApliKAtOr
Aplikator hair filler membantu menutupi area rambut yang tipis dengan hasil tampak alami. Cukup disemprotkan pada area tipis.
HAIR FiLLER
Dengan serat kapas alami, serat mikroskopis akan menempel para helaian rambut untuk menutupi area rambut yang tipis atau jarang dengan efek alami dan instan. Cocok untuk semua jenis rambut, tahan lama, dan mudah diaplikasikan.