162 lines
4.7 KiB
JavaScript
Executable File
162 lines
4.7 KiB
JavaScript
Executable File
function SetSlideNavigation(e) {
|
|
var anchors = e.parentNode.childNodes;
|
|
if (e.tagName == "SPAN") {
|
|
anchors = e.parentNode.parentNode.childNodes;
|
|
}
|
|
anchors.forEach((t) => {
|
|
if (t.tagName == "A") {
|
|
t.classList.remove("active");
|
|
}
|
|
});
|
|
if (e.tagName == "SPAN") {
|
|
e.parentNode.classList.add("active");
|
|
} else {
|
|
e.classList.add("active");
|
|
}
|
|
}
|
|
|
|
$(".slider__inner").slick({
|
|
slidesToShow: 1,
|
|
slidesToScroll: 1,
|
|
arrows: false,
|
|
autoplay: true,
|
|
fade: true,
|
|
});
|
|
|
|
$(".slider__inner").on(
|
|
"beforeChange",
|
|
function (event, slick, currentSlide, nextSlide) {
|
|
var ele = $(".slider__nav-inner").find(
|
|
`[data-slide='${nextSlide + 1}']`
|
|
)[0];
|
|
|
|
SetSlideNavigation(ele);
|
|
}
|
|
);
|
|
$("a[data-slide]").click(function (e) {
|
|
e.preventDefault();
|
|
|
|
SetSlideNavigation(e.target);
|
|
var slideno = $(this).data("slide");
|
|
$(".slider__inner").slick("slickGoTo", slideno - 1);
|
|
});
|
|
|
|
// lazyload start
|
|
// =============================================
|
|
if (
|
|
window.addEventListener &&
|
|
window.requestAnimationFrame &&
|
|
document.getElementsByClassName
|
|
)
|
|
window.addEventListener(
|
|
"load",
|
|
function () {
|
|
let pItem = document.getElementsByClassName("progressive replace"),
|
|
timer;
|
|
window.addEventListener("scroll", scroller, false);
|
|
window.addEventListener("resize", scroller, false);
|
|
inView();
|
|
function scroller(e) {
|
|
timer =
|
|
timer ||
|
|
setTimeout(function () {
|
|
timer = null;
|
|
requestAnimationFrame(inView);
|
|
}, 300);
|
|
}
|
|
function inView() {
|
|
let wT = window.pageYOffset,
|
|
wB = wT + window.innerHeight,
|
|
cRect,
|
|
pT,
|
|
pB,
|
|
p = 0;
|
|
while (p < pItem.length) {
|
|
cRect = pItem[p].getBoundingClientRect();
|
|
pT = wT + cRect.top;
|
|
pB = pT + cRect.height;
|
|
|
|
if (wT < pB && wB > pT) {
|
|
loadFullImage(pItem[p]);
|
|
pItem[p].classList.remove("replace");
|
|
} else p++;
|
|
}
|
|
}
|
|
function loadFullImage(item) {
|
|
if (!item || !item.href) return;
|
|
let img = new Image();
|
|
if (item.dataset) {
|
|
img.srcset = item.dataset.srcset || "";
|
|
img.sizes = item.dataset.sizes || "";
|
|
}
|
|
img.src = item.href;
|
|
img.className = "reveal";
|
|
if (img.complete) addImg();
|
|
else img.onload = addImg;
|
|
function addImg() {
|
|
item.addEventListener(
|
|
"click",
|
|
function (e) {
|
|
e.preventDefault();
|
|
},
|
|
false
|
|
);
|
|
item.appendChild(img).addEventListener(
|
|
"animationend",
|
|
function (e) {
|
|
var pImg =
|
|
item.querySelector &&
|
|
item.querySelector("img.preview");
|
|
if (pImg) {
|
|
e.target.alt = pImg.alt || "";
|
|
item.removeChild(pImg);
|
|
e.target.classList.remove("reveal");
|
|
}
|
|
}
|
|
);
|
|
}
|
|
}
|
|
},
|
|
false
|
|
);
|
|
// lazyload end
|
|
// =============================================
|
|
// advertisement start
|
|
$(function () {
|
|
var $slideshow = $(".advertisiment");
|
|
var ImagePauses = [6000, 2000, 3000, 10000];
|
|
|
|
// Init
|
|
$slideshow.slick({
|
|
dots: false,
|
|
arrows: false,
|
|
infinite: true,
|
|
initialSlide: 0,
|
|
autoplay: true,
|
|
autoplaySpeed: ImagePauses[0],
|
|
fade: true,
|
|
cssEase: "linear",
|
|
adaptiveHeight: true,
|
|
});
|
|
|
|
// Sliding settings
|
|
$slideshow.on("afterChange", function (event, slick, currentSlide) {
|
|
// Console log, can be removed
|
|
console.log(
|
|
"Current slide: " +
|
|
currentSlide +
|
|
". Setting speed to: " +
|
|
ImagePauses[currentSlide]
|
|
);
|
|
|
|
// Update autoplay speed according to slide index
|
|
$slideshow.slick(
|
|
"slickSetOption",
|
|
"autoplaySpeed",
|
|
ImagePauses[currentSlide],
|
|
true
|
|
);
|
|
});
|
|
});
|
|
// advertisement end
|