AMPERION_Webpage/themes/airspace-hugo/assets/js/script.js

113 lines
2.8 KiB
JavaScript
Raw Normal View History

2025-06-07 23:02:15 +02:00
// Passive event listeners
jQuery.event.special.touchstart = {
setup: function (_, ns, handle) {
'use strict';
this.addEventListener('touchstart', handle, {
passive: !ns.includes('noPreventDefault')
});
}
};
jQuery.event.special.touchmove = {
setup: function (_, ns, handle) {
'use strict';
this.addEventListener('touchmove', handle, {
passive: !ns.includes('noPreventDefault')
});
}
};
// Preloader js
$(window).on('load', function () {
'use strict';
$('.preloader').fadeOut(0);
});
$(document).ready(function () {
'use strict';
// Shuffle js filter and masonry
var containerEl = document.querySelector('.shuffle-wrapper');
if (containerEl) {
var Shuffle = window.Shuffle;
var myShuffle = new Shuffle(document.querySelector('.shuffle-wrapper'), {
itemSelector: '.shuffle-item',
buffer: 1
});
jQuery('input[name="shuffle-filter"]').on('change', function (evt) {
var input = evt.currentTarget;
if (input.checked) {
myShuffle.filter(input.value);
}
});
}
$('.portfolio-single-slider').slick({
infinite: true,
arrows: false,
autoplay: true,
autoplaySpeed: 2000
});
$('.clients-logo').slick({
infinite: true,
arrows: false,
autoplay: true,
autoplaySpeed: 2000
});
$('.testimonial-slider').slick({
slidesToShow: 1,
infinite: true,
arrows: false,
autoplay: true,
autoplaySpeed: 2000
});
// Count Up
function counter() {
var oTop;
if ($('.count').length !== 0) {
oTop = $('.count').offset().top - window.innerHeight;
}
if ($(window).scrollTop() > oTop) {
$('.count').each(function () {
var $this = $(this),
countTo = $this.attr('data-count');
$({
countNum: $this.text()
}).animate({
countNum: countTo
}, {
duration: 1000,
easing: 'swing',
step: function () {
$this.text(Math.floor(this.countNum));
},
complete: function () {
$this.text(this.countNum);
}
});
});
}
}
$(window).on('scroll', function () {
counter();
});
// Turn cloaked e-mail addresses into clickable mailto links
let emailSpans = document.getElementsByClassName("cloaked-e-mail");
for (let emailSpan of emailSpans) {
let emailLink = document.createElement("a");
let emailAddress = emailSpan.attributes.getNamedItem("data-user").value.split('').reverse().join('') + "@" + emailSpan.attributes.getNamedItem("data-domain").value.split('').reverse().join('');
emailLink.href = "mailto:" + emailAddress;
emailLink.innerText = emailAddress;
emailSpan.parentElement.insertBefore(emailLink, emailSpan);
emailSpan.parentElement.removeChild(emailSpan)
}
// map initialize
$(map);
});