File: /home/alfouzantranspor/public_html/wp-content/themes/land-excavator/revolution/assets/js/custom.js
jQuery(document).ready(function ($) {
// Search focus handler
function land_excavator_searchFocusHandler() {
const searchFirstTab = $('.inner_searchbox input[type="search"]');
const searchLastTab = $('button.search-close');
$(".open-search").click(function(e) {
e.preventDefault();
e.stopPropagation();
$('body').addClass("search-focus");
searchFirstTab.focus();
});
$("button.search-close").click(function(e) {
e.preventDefault();
e.stopPropagation();
$('body').removeClass("search-focus");
$(".open-search").focus();
});
// Redirect last tab to first input
searchLastTab.on('keydown', function(e) {
if ($('body').hasClass('search-focus') && e.which === 9 && !e.shiftKey) {
e.preventDefault();
searchFirstTab.focus();
}
});
// Redirect first shift+tab to last input
searchFirstTab.on('keydown', function(e) {
if ($('body').hasClass('search-focus') && e.which === 9 && e.shiftKey) {
e.preventDefault();
searchLastTab.focus();
}
});
// Allow escape key to close menu
$('.inner_searchbox').on('keyup', function(e) {
if ($('body').hasClass('search-focus') && e.keyCode === 27) {
$('body').removeClass('search-focus');
searchLastTab.focus();
}
});
}
// Call the search focus handler
land_excavator_searchFocusHandler();
// Preloader
jQuery('#preloader').delay(1500).fadeOut();
jQuery('#loader').delay(1500).fadeOut("slow");
// Scroll to Top Button
if ($('.go-to-top').length) {
var scrollTrigger = $('body').position(); // px
var goToTop = function () {
var scrollTop = $(window).scrollTop();
if (scrollTop > 150) {
$('.footer-go-to-top').addClass('show');
} else {
$('.footer-go-to-top').removeClass('show');
}
};
goToTop();
$(window).on('scroll', function () {
goToTop();
});
$('.go-to-top').on('click', function (e) {
e.preventDefault();
$('html, body').animate({
scrollTop: scrollTrigger.top
}, 700);
});
}
// Mobile Menu Focus
$(window).resize(land_excavator_navTrapp);
function land_excavator_navTrapp() {
var width = $(window).width();
if (width < 992) {
$('.main-navigation').on('keydown', function (e) {
if ($('.main-navigation').hasClass('toggled')) {
var focusableEls = $('.main-navigation a[href]:not([disabled]), .main-navigation button');
var firstFocusableEl = focusableEls[0];
var lastFocusableEl = focusableEls[focusableEls.length - 1];
var KEYCODE_TAB = 9;
var KEYCODE_ESC = 27;
if (e.key === 'Tab' || e.keyCode === KEYCODE_TAB) {
if (e.shiftKey) { // shift + tab
if (document.activeElement === firstFocusableEl) {
lastFocusableEl.focus();
e.preventDefault();
}
} else { // tab
if (document.activeElement === lastFocusableEl) {
firstFocusableEl.focus();
e.preventDefault();
}
}
}
if (e.keyCode === KEYCODE_ESC) {
$('.main-navigation').removeClass('toggled');
return;
}
}
});
}
}
land_excavator_navTrapp();
// Main Slider
var owl = jQuery('#main-slider-wrap .owl-carousel');
owl.owlCarousel({
margin: 20,
nav: true,
autoplay: true,
lazyLoad: false,
autoplayTimeout: 2000,
loop: true,
rtl: $('html').attr('dir') === 'rtl', // Set RTL based on HTML direction
dots: true,
responsive: {
0: {
items: 1
},
600: {
items: 1
},
1000: {
items: 1
}
},
autoplayHoverPause: true,
mouseDrag: true
});
});
// tab
jQuery(document).ready(function () {
jQuery( ".tablinks" ).first().addClass( "active" );
});
function land_excavator_projetcs_tab(evt, cityName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
jQuery('#'+ cityName).show()
evt.currentTarget.className += " active";
}
jQuery(document).ready(function () {
jQuery('.tabcontent').hide();
jQuery('.tabcontent:first').show();
});
document.addEventListener('DOMContentLoaded', function() {
const header = document.querySelector('.sticky-header');
if (header) { // Check if header exists
window.addEventListener('scroll', function() {
if (window.scrollY > 0) {
header.classList.add('stickyon');
} else {
header.classList.remove('stickyon');
}
});
}
});