(function ($) {
'use strict';
/* ---------------------------------------------
-- Service Slider
--------------------------------------------- */
/* is_exist() */
jQuery.fn.is_exist = function () {
return this.length;
};
$(window).load(function () {});
/********* * Service Slider * *********/
var Service_slider_Js = function ($scope) {
var wrapper = $scope.find('.optech-4column-slider');
if (wrapper.length === 0) return;
var settings = wrapper.data('settings');
wrapper.slick({
infinite: true,
slidesToShow: settings['per_coulmn'],
slidesToScroll: 1,
arrows: false,
dots: settings['dots'],
autoplay: settings['autoplay'],
autoplaySpeed: settings['autoplaytimeout'],
draggable: settings['drag'],
centerMode: settings['centermode'],
centerPadding: '300px',
responsive: [
{
breakpoint: 1600,
settings: {
slidesToShow: 3,
centerPadding: '250px',
},
},
{
breakpoint: 1399,
settings: {
slidesToShow: 3,
centerPadding: '150px',
},
},
{
breakpoint: 1199,
settings: {
slidesToShow: 3,
centerPadding: '100px',
},
},
{
breakpoint: 1025,
settings: {
slidesToShow: settings['per_coulmn_tablet'],
centerPadding: '100px',
},
},
{
breakpoint: 768,
settings: {
slidesToShow: settings['per_coulmn_mobile'],
centerPadding: '0px',
},
},
],
});
};
var Service_slider_Js_Two = function ($scope) {
var wrapper = $scope.find('.optech-4column-slider2');
if (wrapper.length === 0) return;
var settings = wrapper.data('settings');
wrapper.slick({
infinite: true,
slidesToShow: settings['per_coulmn'],
slidesToScroll: 1,
arrows: false,
dots: settings['dots'],
autoplay: settings['autoplay'],
autoplaySpeed: settings['autoplaytimeout'],
draggable: settings['drag'],
responsive: [
{
breakpoint: 1600,
settings: {
slidesToShow: 3,
},
},
{
breakpoint: 1399,
settings: {
slidesToShow: 3,
},
},
{
breakpoint: 1199,
settings: {
slidesToShow: 3,
},
},
{
breakpoint: 1025,
settings: {
slidesToShow: settings['per_coulmn_tablet'],
},
},
{
breakpoint: 768,
settings: {
slidesToShow: settings['per_coulmn_mobile'],
},
},
],
});
};
/*---------- Optech 1 Column Slider ----------*/
var Testimonial_slider_One_Js = function ($scope) {
var wrapper = $scope.find('.testi-slider-active');
if (wrapper.length === 0) return;
var settings = wrapper.data('settings');
wrapper.slick({
infinite: true,
slidesToShow: settings['per_coulmn'],
slidesToScroll: 1,
arrows: settings['arrows'],
dots: settings['dots'],
autoplay: settings['autoplay'],
autoplaySpeed: settings['autoplaytimeout'],
draggable: settings['drag'],
speed: 800,
prevArrow: '',
nextArrow: '',
responsive: [
{
breakpoint: 1025,
settings: {
slidesToShow: settings['per_coulmn_tablet'],
},
},
{
breakpoint: 768,
settings: {
slidesToShow: settings['per_coulmn_mobile'],
},
},
],
});
};
/*---------- Optech Progress Bar ----------*/
var Progress_Bar_Js = function ($scope) {
$scope.find('.progress-bar').each(function () {
var $this = jQuery(this);
$this.find('.progress-content').animate(
{
width: $this.attr('data-percentage'),
},
2000
);
$this.find('.progress-number-mark').animate(
{
left: $this.attr('data-percentage'),
},
{
duration: 2000,
step: function (now, fx) {
var data = Math.round(now);
jQuery(this)
.find('.percent')
.html(data + '%');
},
}
);
});
};
/*---------- Optech Search Js ----------*/
var Search_Js = function ($scope) {
// Open search box when clicking on the search icon
$scope.find('.optech-header-search').on('click', function () {
$scope.find('.optech-header-search-section, .search-overlay').addClass('open');
});
// Close search box when clicking on the close icon or overlay
$scope.find('.optech-header-search-close, .search-overlay').on('click', function () {
$scope.find('.optech-header-search-section, .search-overlay').removeClass('open');
});
};
/********* * Team Slider * *********/
var Team_slider_Js = function ($scope) {
var wrapper = $scope.find('.team-slide');
if (wrapper.length === 0) return;
var settings = wrapper.data('settings');
wrapper.slick({
infinite: true,
slidesToShow: settings['per_coulmn'],
slidesToScroll: 1,
arrows: false,
dots: settings['dots'],
autoplay: settings['autoplay'],
autoplaySpeed: settings['autoplaytimeout'],
draggable: settings['drag'],
centerMode: settings['centermode'],
centerPadding: '300px',
responsive: [
{
breakpoint: 1600,
settings: {
slidesToShow: 3,
centerPadding: '250px',
},
},
{
breakpoint: 1399,
settings: {
slidesToShow: 3,
centerPadding: '150px',
},
},
{
breakpoint: 1199,
settings: {
slidesToShow: 3,
centerPadding: '100px',
},
},
{
breakpoint: 1025,
settings: {
slidesToShow: settings['per_coulmn_tablet'],
centerPadding: '100px',
},
},
{
breakpoint: 768,
settings: {
slidesToShow: settings['per_coulmn_mobile'],
centerPadding: '0px',
},
},
],
});
};
/********* * Project Slider * *********/
var Project_slider_Js = function ($scope) {
var wrapper = $scope.find('.project-slide');
if (wrapper.length === 0) return;
var settings = wrapper.data('settings');
wrapper.slick({
infinite: true,
slidesToShow: settings['per_coulmn'],
slidesToScroll: 1,
arrows: false,
dots: settings['dots'],
autoplay: settings['autoplay'],
autoplaySpeed: settings['autoplaytimeout'],
draggable: settings['drag'],
centerMode: settings['centermode'],
centerPadding: '100px',
responsive: [
{
breakpoint: 1399,
settings: {
slidesToShow: 2,
},
},
{
breakpoint: 1025,
settings: {
slidesToShow: settings['per_coulmn_tablet'],
centerPadding: '70px',
},
},
{
breakpoint: 768,
settings: {
slidesToShow: settings['per_coulmn_mobile'],
centerPadding: '0px',
},
},
],
});
};
/********* * offCanvas Menu * *********/
var Off_canvs_Menu = function ($scope, $) {
$('.optech-header-barger').on('click', function (e) {
$('.optech-sidemenu-column, .offcanvas-overlay').addClass('active');
event.preventDefault(e);
});
$('.optech-sidemenu-close, .offcanvas-overlay').on('click', function () {
$('.optech-sidemenu-column, .offcanvas-overlay').removeClass('active');
});
};
/********* * Text Slider * *********/
var text_slider_Js = function ($scope) {
var wrapper = $scope.find('.optech-brand-slider');
if (wrapper.length === 0) return;
var settings = wrapper.data('settings');
wrapper.slick({
rtl: settings['slider_rtl'],
infinite: true,
slidesToShow: settings['per_coulmn'],
slidesToScroll: settings['slide_scroll'],
arrows: false,
dots: false,
autoplay: true,
autoplaySpeed: 0,
speed: 10000,
cssEase: 'linear',
pauseOnHover: true,
adaptiveHeight: true,
responsive: [
{
breakpoint: 1600,
settings: {
slidesToShow: settings['per_coulmn'],
slidesToScroll: 1,
},
},
{
breakpoint: 1200,
settings: {
slidesToShow: 3,
slidesToScroll: 1,
},
},
{
breakpoint: 1025,
settings: {
slidesToShow: settings['per_coulmn_tablet'],
slidesToScroll: 1,
},
},
{
breakpoint: 767,
settings: {
slidesToShow: settings['per_coulmn_mobile'],
slidesToScroll: 1,
},
},
],
});
};
/*--------------------------------------------------------------
optech HERO SLIDER INIT
--------------------------------------------------------------*/
/*----------- Global Slider ----------*/
$('.global-carousel').each(function () {
var carouselSlide = $(this);
function d(data) {
return carouselSlide.data(data);
}
});
/*----------- Custom Animaiton For Slider ----------*/
$('[data-ani-duration]').each(function () {
var durationTime = $(this).data('ani-duration');
$(this).css('animation-duration', durationTime);
});
$('[data-ani-delay]').each(function () {
var delayTime = $(this).data('ani-delay');
$(this).css('animation-delay', delayTime);
});
$('[data-ani]').each(function () {
var animaionName = $(this).data('ani');
$(this).addClass(animaionName);
$('.slick-slide [data-ani]').addClass('slider-animated');
});
$('.global-carousel').on('afterChange', function (event, slick, currentSlide, nextSlide) {
$(slick.$slides).find('[data-ani]').removeClass('slider-animated');
$(slick.$slides[currentSlide]).find('[data-ani]').addClass('slider-animated');
});
var hero_slider = function ($scope) {
var wrapper = $scope.find('.optech-hero-slider');
if (wrapper.length === 0) return;
var settings = wrapper.data('settings');
wrapper.slick({
infinite: true,
slidesToShow: 1,
slidesToScroll: 1,
arrows: settings['arrows'],
draggable: settings['drag'],
autoplay: settings['autoplay'],
autoplaySpeed: settings['autoplaytimeout'],
speed: 800,
lazyLoad: 'progressive',
prevArrow: '',
nextArrow: '',
}).slickAnimation();
};
/*--------------------------------------------------------------
COUNTER JS INIT
--------------------------------------------------------------*/
var Counter_Js = function ($scope) {
var $counterWrap = $scope.find('.optech-counter-number');
if (!$counterWrap.length) {
return; // Exit if no counter wrap found
}
var a = 0;
$(window).on('scroll', function () {
$counterWrap.each(function () {
var $thisWrap = $(this);
var oTop = $thisWrap.offset().top - window.innerHeight;
if (a == 0 && $(window).scrollTop() > oTop) {
$scope.find('.optech-counter').each(function () {
var $this = $(this);
var countTo = $this.attr('data-percentage');
$({ countNum: 0 }).animate(
{
countNum: countTo,
},
{
duration: 4000,
easing: 'swing',
step: function () {
$this.text(Math.floor(this.countNum));
},
complete: function () {
$this.text(this.countNum);
},
}
);
});
a = 1;
}
});
});
};
var Faq_js = function ($scope) {
var Accordion = function (el, multiple) {
this.el = el || {};
this.multiple = multiple || false;
var links = this.el.find('.init-header');
links.on('click', { el: this.el, multiple: this.multiple }, this.dropdown);
};
Accordion.prototype.dropdown = function (e) {
var $el = e.data.el;
var $this = $(this);
var $next = $this.next();
$next.slideToggle();
$this.parent().toggleClass('open');
if (!e.data.multiple) {
$el.find('.init-body').not($next).slideUp().parent().removeClass('open');
}
};
// Initialize the accordion
var accordion = new Accordion($('.init-wrap'), false);
};
$(window).on('elementor/frontend/init', function () {
// elementorFrontend.hooks.addAction("frontend/element_ready/global", OptechGlobal);
elementorFrontend.hooks.addAction('frontend/element_ready/optechheroslider.default', hero_slider);
elementorFrontend.hooks.addAction('frontend/element_ready/optech_services.default', Service_slider_Js);
elementorFrontend.hooks.addAction('frontend/element_ready/optech_services_two.default', Service_slider_Js_Two);
elementorFrontend.hooks.addAction('frontend/element_ready/optechtestimonialslider.default', Testimonial_slider_One_Js);
elementorFrontend.hooks.addAction('frontend/element_ready/optechfaqs.default', Faq_js);
elementorFrontend.hooks.addAction('frontend/element_ready/optechprogressbar.default', Progress_Bar_Js);
elementorFrontend.hooks.addAction('frontend/element_ready/optechsearch.default', Search_Js);
elementorFrontend.hooks.addAction('frontend/element_ready/optech_team_member.default', Team_slider_Js);
elementorFrontend.hooks.addAction('frontend/element_ready/optech_projects.default', Project_slider_Js);
elementorFrontend.hooks.addAction('frontend/element_ready/optechoffcanvas.default', Off_canvs_Menu);
elementorFrontend.hooks.addAction('frontend/element_ready/optech_text_slider_widget.default', text_slider_Js);
elementorFrontend.hooks.addAction('frontend/element_ready/optech_counter.default', Counter_Js);
});
})(jQuery);