/** * @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); //DONGND:: type horizontal menu //DONGND:: 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; } }); //DONGND:: 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); //DONGND:: 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 = $("<section class='off-canvas-nav-megamenu' data-megamenu-id="+value.id+"><nav class='offcanvas-mainnav' ><div class='off-canvas-button-megamenu'><span class='off-canvas-nav'></span>"+close_bt_txt+"</div></nav></section>"); // console.log($($btn.data('target')).find('.megamenu')); var $menucontent = $($btn.data('target')).find('.megamenu').clone(); $("body").append($nav); $('body main').append("<div class='megamenu-overlay' data-megamenu-id="+value.id+"></div>"); $(".megamenu-overlay[data-megamenu-id="+value.id+"]").click(function(){ $btn.trigger('click'); }); // console.log('test'); $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").append($menucontent); $("html").addClass ("off-canvas"); $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"]").find(".off-canvas-button-megamenu").click( function(){ off_canvas_active(); } ); if($btn.is(':visible')) { $("body").removeClass("off-canvas-active").addClass("off-canvas-inactive"); } $btn.click(function(){ // if (!$(".off-canvas-megamenu[data-megamenu-id="+value.id+"]").hasClass('off-canvas-nav-megamenu')) // { // $(".off-canvas-megamenu[data-megamenu-id="+value.id+"]").addClass('off-canvas-nav-megamenu'); // } // console.log($(window).height()); // console.log($('.offcanvas-mainnav').height()); // 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()); // } // 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() { $('body,html').animate({ scrollTop: 0 }, 0); 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'); //DONGND:: 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; } }); //DONGND:: 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 { //DONGND:: 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); } //DONGND:: 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').click(function (e) { e.preventDefault(); $(this).tab('show'); }) //DONGND:: 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 (!$(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'); } }) }); } //DONGND:: 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'); //DONGND:: remove .caret by check level $(this).find("ul.level" + check_level).parent().find('.caret').remove(); //DONGND:: 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(); } }); } }); //DONGND:: 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'); //DONGND:: remove .caret by check level $(this).find("ul.level" + check_level).parent().find('.caret').remove(); //DONGND:: 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'); //DONGND:: js for widget image gallery product $(".fancybox").fancybox({ openEffect : 'none', closeEffect : 'none' }); }) //DONGND:: 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'); } } //DONGND:: 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',''); } }