/** * @copyright Commercial License By LeoTheme.Com * @email leotheme.com * @visit http://www.leotheme.com */ $(document).ready(function () { $.each(list_menu, function (index, value) { // console.log(value.type); if (value.type == 'horizontal') { var megamenu_element = $('.cavas_menu[data-megamenu-id=' + value.id + ']') // console.log(megamenu_element); //type horizontal menu //check active link if ($('body').attr('id') == 'index') isHomeMenu = 1 megamenu_element.find('.megamenu > li > a').each(function () { menuURL = $(this) .attr('href') .replace('https://', '') .replace('http://', '') .replace('www.', '') .replace(/#\w*/, '') if ( currentURL == menuURL || currentURL.replace(current_link, '') == menuURL || isHomeMenu ) { $(this).parent().addClass('active') return false } }) //check target // console.log($(window).width()); if ($(window).width() <= 767) { set_target_blank(false, megamenu_element) // set cavas NO } else { set_target_blank(true, megamenu_element) // set cavas Yes } // console.log('test'); // console.log(show_cavas); //off canvas menu if (value.show_cavas == 1) { // console.log('test'); $.fn.OffCavasmenu = function (opts) { // default configuration var config = $.extend( {}, { opt1: null, text_warning_select: text_warning_select_txt, text_confirm_remove: text_confirm_remove_txt, JSON: null, }, opts ) // main function // initialize every element this.each(function () { // console.log('test'); var $btn = megamenu_element.find('.navbar-toggler') // console.log($btn); var $nav = null if (!$btn.length) return var $nav = $( "
' ) // console.log($($btn.data('target')).find('.megamenu')); var $menucontent = $($btn.data('target')).find('.megamenu').clone() $('body').append($nav) $('body #page').append( "
$(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height()) // { // $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height($(window).height()); // } // else // { // $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height('auto'); // } off_canvas_active() $('.off-canvas-nav-megamenu').removeClass('active') if ( !$( '.off-canvas-nav-megamenu[data-megamenu-id=' + value.id + ']' ).hasClass('active') && $('body').hasClass('off-canvas-active') ) { $( '.off-canvas-nav-megamenu[data-megamenu-id=' + value.id + ']' ).addClass('active') auto_height(value.id) } // $(".off-canvas-megamenu[data-megamenu-id!="+value.id+"]").removeClass('off-canvas-nav-megamenu'); }) }) return this } // console.log(megamenu_element); megamenu_element.OffCavasmenu() megamenu_element.find('.navbar-toggler').click(function () { return false }) $('.off-canvas-nav-megamenu[data-megamenu-id=' + value.id + ']') .find('.offcanvas-mainnav .caret') .click(function () { if ($(this).parent('li').hasClass('open-sub')) { $(this) .parent('li') .find('.dropdown-menu') .first() .slideUp('fast', function () { // console.log($(window).height()); // console.log($(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height()); // $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height('auto'); // if($(window).height() > $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height()) // { // $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height($(window).height()); // } auto_height(value.id) }) $(this).parent('li').removeClass('open-sub') } else { // $('.offcanvas-mainnav li.open-sub').find('.dropdown-menu').first().slideUp('fast'); $(this) .parent('li') .siblings('.open-sub') .find('.dropdown-menu') .first() .slideUp('fast') $(this).parent('li').siblings().removeClass('open-sub') $(this) .parent('li') .find('.dropdown-menu') .first() .slideDown('fast', function () { // console.log($(window).height()); // console.log($(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height()); // $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height('auto'); // if($(window).height() > $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height()) // { // $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height($(window).height()); // } auto_height(value.id) }) $(this).parent('li').addClass('open-sub') } }) $(window).resize(function () { // console.log($(window).width()); // if( $(window).width() > 523 ){ if ($(window).width() > 991) { $('body') .removeClass('off-canvas-active') .addClass('off-canvas-inactive') } else { auto_height(value.id) } }) } else { var $bt = megamenu_element.find('.navbar-toggler') var $menu = megamenu_element.find('.leo-top-menu') //add class for menu element when click button to show menu at mobile, tablet $bt.click(function () { if ($menu.hasClass('in')) { megamenu_element.removeClass('active') } else { if (!megamenu_element.hasClass('active')) { megamenu_element.addClass('active') } } }) megamenu_element .find('.leo-top-menu .dropdown-toggle') .removeAttr('disabled') megamenu_element.find('.dropdown-toggle').click(function () { if ($(window).width() <= 767) { if ($(this).parent('li').find('div:first').hasClass('level2')) return false else return true } }) megamenu_element.find('.leo-top-menu li a').each(function () { // console.log($(this)); // console.log((this).hasAttribute('data-toggle')); if (this.hasAttribute('data-toggle')) { $(this).removeAttr('data-toggle') } }) megamenu_element .find('.leo-top-menu li a.dropdown-toggle') .click(function () { if ( !$(this).parent().hasClass('open') && this.href && this.href != '#' ) { window.location.href = this.href } }) // console.log('aaa'); megamenu_element.find('.leo-top-menu .caret').click(function () { // console.log('test'); if ($(this).parent('li').hasClass('open-sub')) { $(this) .parent('li') .find('.dropdown-menu') .first() .slideUp('fast', function () { auto_height_off(megamenu_element) }) $(this).parent('li').removeClass('open-sub') } else { // $('.offcanvas-mainnav li.open-sub').find('.dropdown-menu').first().slideUp('fast'); $(this) .parent('li') .siblings('.open-sub') .find('.dropdown-menu') .first() .slideUp('fast') $(this).parent('li').siblings().removeClass('open-sub') $(this) .parent('li') .find('.dropdown-menu') .first() .slideDown('fast', function () { auto_height_off(megamenu_element) }) $(this).parent('li').addClass('open-sub') } }) if ($(document).width() > 543) { megamenu_element .find('.leo-top-menu .dropdown-menu') .css('display', '') } auto_height_off(megamenu_element) $(window).resize(function () { auto_height_off(megamenu_element) if ($(document).width() > 543) { megamenu_element .find('.leo-top-menu .dropdown') .removeClass('open-sub') megamenu_element .find('.leo-top-menu .dropdown-submenu') .removeClass('open-sub') megamenu_element .find('.leo-top-menu .dropdown-menu') .css('display', '') } }) } } else { //type vertical menu var megamenu_element = $( '.leo-verticalmenu[data-megamenu-id=' + value.id + ']' ) megamenu_element .find('.verticalmenu .dropdown-toggle') .removeAttr('disabled') megamenu_element .find('.verticalmenu .dropdown-toggle') .click(function () { if ($(window).width() <= 767) { if ($(this).parent('li').find('div:first').hasClass('level2')) return false else return true } }) // megamenu_element.find('.verticalmenu .dropdown-toggle').prop('disabled', true); // megamenu_element.find('.verticalmenu .dropdown-toggle').data('toggle', ''); megamenu_element .find('.verticalmenu .dropdown-toggle') .removeAttr('data-toggle') megamenu_element.find('.verticalmenu .caret').click(function () { if ($(this).parents('.verticalmenu').hasClass('active-button')) { // console.log('test'); var $parent = $(this).parent('li') // console.log($parent.hasClass('open-sub')); // $parent.toggleClass('open-sub'); if ($parent.hasClass('open-sub')) { // console.log('test'); $parent .find('.dropdown-menu') .first() .slideUp('fast', function () { $parent.removeClass('open-sub') }) } else { if ($parent.siblings('.open-sub').length > 0) { $parent .siblings('.open-sub') .find('.dropdown-menu') .first() .slideUp('fast', function () { $parent.siblings('.open-sub').removeClass('open-sub') }) $parent .find('.dropdown-menu') .first() .slideDown('fast', function () { $parent.addClass('open-sub') }) } else { $parent .find('.dropdown-menu') .first() .slideDown('fast', function () { $parent.addClass('open-sub') }) } } return false } }) if ($(window).width() > 991) { megamenu_element.find('.verticalmenu').addClass('active-hover') megamenu_element.find('.verticalmenu').removeClass('active-button') megamenu_element.find('.verticalmenu .dropdown-menu').css('display', '') megamenu_element.find('.leo-verticalmenu').removeClass('active') } else { megamenu_element.find('.verticalmenu').removeClass('active-hover') megamenu_element.find('.verticalmenu').addClass('active-button') } $(window).resize(function () { if ($(window).width() > 991) { megamenu_element .find('.verticalmenu .dropdown') .removeClass('open-sub') megamenu_element .find('.verticalmenu .dropdown-submenu') .removeClass('open-sub') megamenu_element.find('.verticalmenu').addClass('active-hover') megamenu_element.find('.verticalmenu').removeClass('active-button') megamenu_element .find('.verticalmenu .dropdown-menu') .css('display', '') megamenu_element.removeClass('active') } else { megamenu_element.find('.verticalmenu').removeClass('active-hover') megamenu_element.find('.verticalmenu').addClass('active-button') } }) scrollSliderBarMenu(megamenu_element) } //js for tab html if (typeof value.list_tab !== 'undefined' && value.list_tab.length > 0) { $.each(value.list_tab, function (key, val) { megamenu_element.find('#tabhtml' + val + ' .nav a').hover(function (e) { $(this).tab('show') }) megamenu_element.find('#tabhtml' + val + ' .nav a').click(function (e) { e.preventDefault() if (screen.width > 576) { $(this).tab('show') window.location.href = $(this).data('href') } else { $(this).tab('show') } }) //fix for widget tab of off canvas menu on mobile $('.off-canvas-nav-megamenu[data-megamenu-id=' + value.id + ']') .find('#tabhtml' + val + ' .nav a') .click(function (e) { e.preventDefault() if ( !$(e.target).hasClass('nav-link') && !$(this).hasClass('active') ) { var wrapper_tab = $(this).closest('.panel-group') var tab_href = $(this).attr('href') wrapper_tab.find('.nav-link').removeClass('active') wrapper_tab.find('.nav-item').removeClass('active') wrapper_tab.find('.tab-pane').removeClass('active') $(this).addClass('active') $(this).parents('.nav-item').addClass('active') wrapper_tab.find(tab_href).addClass('active') } else { window.location.href = $(this).data('href') } }) }) } //js for widget image gallery category if ( typeof value.level !== 'undefined' && typeof value.limit !== 'undefined' ) { megamenu_element .find('.widget-category_image ul.level0') .each(function () { $(this).find('ul').removeClass('dropdown-sub dropdown-menu') }) megamenu_element .find('.widget-category_image ul.level0') .each(function () { var check_level = $(this) .parents('.widget-category_image') .data('level') var check_limit = $(this) .parents('.widget-category_image') .data('limit') //remove .caret by check level $(this) .find('ul.level' + check_level) .parent() .find('.caret') .remove() //remove ul by check level $(this) .find('ul.level' + check_level + ' li') .remove() var element = $(this).find( 'ul.level' + (check_level - 1) + ' li' ).length var count = 0 if (check_level > 0) { $(this) .find('ul.level' + (check_level - 1) + ' >li') .each(function () { count = count + 1 if (count > check_limit) { $(this).remove() } }) } }) //add for off canvas menu $( '.off-canvas-nav-megamenu[data-megamenu-id=' + value.id + '] .offcanvas-mainnav' ) .find('.widget-category_image ul.level0') .each(function () { var check_level = $(this) .parents('.widget-category_image') .data('level') var check_limit = $(this) .parents('.widget-category_image') .data('limit') //remove .caret by check level $(this) .find('ul.level' + check_level) .parent() .find('.caret') .remove() //remove ul by check level $(this) .find('ul.level' + check_level + ' li') .remove() var element = $(this).find( 'ul.level' + (check_level - 1) + ' li' ).length var count = 0 if (check_level > 0) { $(this) .find('ul.level' + (check_level - 1) + ' >li') .each(function () { count = count + 1 if (count > check_limit) { $(this).remove() } }) } }) } if (value.type == 'horizontal') { $(window).resize(function () { // console.log($(window).width()); if ($(window).width() <= 767) { set_target_blank(false, megamenu_element) // set cavas NO } else { set_target_blank(true, megamenu_element) // set cavas Yes } }) } //if (value.type == "horizontal" && value.show_cavas == 1) if (value.type == 'horizontal' && value.show_cavas == 1) { $(document.body).on('click', '[data-toggle="dropdown"]', function () { if ( !$(this).parent().hasClass('open') && this.href && this.href != '#' ) { window.location.href = this.href } }) } }) $('.dropdown-menu.level1').parent().removeClass('aligned-fullwidth') //js for widget image gallery product $('.fancybox').fancybox({ openEffect: 'none', closeEffect: 'none', }) }) //auto calculate height of off canvas menu off function auto_height_off(menu_object) { wrapper_height = $('#page').innerHeight() ul_height = menu_object.find('.leo-top-menu ul').innerHeight() ul_offset_top = menu_object.find('.leo-top-menu ul').offset().top // console.log('test1'); // console.log(megamenu_element.find(".leo-top-menu ul").height()); // console.log(megamenu_element.find(".leo-top-menu ul").offset().top); // console.log($("#page").height()); // $(".off-canvas-nav-megamenu[data-megamenu-id="+menu_id+"] .offcanvas-mainnav").css('min-height', windowHeight); if (ul_offset_top + ul_height > wrapper_height) { if (!$('#page').hasClass('megamenu-autoheight')) { $('#page').addClass('megamenu-autoheight') } } else { $('#page').removeClass('megamenu-autoheight') } } //auto calculate height of off canvas menu function auto_height(menu_id) { windowHeight = $(window).innerHeight() $( '.off-canvas-nav-megamenu[data-megamenu-id=' + menu_id + '] .offcanvas-mainnav' ).css('min-height', windowHeight) } function off_canvas_active() { // console.log($(window).height()); if ($('body').hasClass('off-canvas-active')) { $('body').removeClass('off-canvas-active').addClass('off-canvas-inactive') } else if ($('body').hasClass('off-canvas-inactive')) { $('body').removeClass('off-canvas-inactive').addClass('off-canvas-active') } else { $('body').addClass('off-canvas-active') } } function set_target_blank(show, megamenu_element) { if (show) { megamenu_element.find('.leo-top-menu li a').each(function () { if ( $(this).hasClass('has-category') && this.hasAttribute('data-toggle') && $(this).attr('target') == '_blank' ) { var value = $(this).attr('data-toggle') $(this).removeAttr('data-toggle') $(this).attr('remove-data-toggle', value) } }) } else { // console.log('test'); megamenu_element.find('.leo-top-menu li a').each(function () { if ( $(this).hasClass('has-category') && this.hasAttribute('remove-data-toggle') && $(this).attr('target') == '_blank' ) { var value = $(this).attr('remove-data-toggle') $(this).removeAttr('remove-data-toggle') $(this).attr('data-toggle', value) } }) } } function scrollSliderBarMenu(megamenu_element) { var menuElement = megamenu_element var columnElement = null var maxWindowSize = 991 // if($(menuElement).hasClass('float-vertical-right')) // columnElement = $("#right_column"); // else if($(menuElement).hasClass('float-vertical-left')) // columnElement = $("#left_column"); //auto display slider bar menu when have left or right column if ($(columnElement).length && $(window).width() >= maxWindowSize) showOrHideSliderBarMenu(columnElement, menuElement, 1) megamenu_element.find('.verticalmenu-button').click(function () { if ($(menuElement).hasClass('active')) { showOrHideSliderBarMenu(columnElement, menuElement, 0) } else { showOrHideSliderBarMenu(columnElement, menuElement, 1) } }) var lastWidth = $(window).width() $(window).resize(function () { if ($(window).width() != lastWidth) { if ($(window).width() < maxWindowSize) { if ($(menuElement).hasClass('active')) showOrHideSliderBarMenu(columnElement, menuElement, 0) } else { if ($(columnElement).length && !$(menuElement).hasClass('active')) showOrHideSliderBarMenu(columnElement, menuElement, 1) } lastWidth = $(window).width() } }) } function showOrHideSliderBarMenu(columnElement, menuElement, active) { if (active) { $(menuElement).addClass('active') if ($(columnElement).length && $(window).width() >= 991) columnElement.css( 'padding-top', $('.block_content', $(menuElement)).height() + 'px' ) } else { $(menuElement).removeClass('active') if ($(columnElement).length) columnElement.css('padding-top', '') } }