/** * template name : sina-nav - multi purpose menu * author : shaonsina */ (function ($) { 'use strict'; $.fn.sinanav = function () { return this.each( function() { var getnav = $(this), top = getnav.data('top') || getnav.offset().top, mdtop = getnav.data('md-top') || getnav.offset().top, xltop = getnav.data('xl-top') || getnav.offset().top, navigation = getnav.find('.sina-menu'), getwindow = $(window).outerwidth(), anim = getnav.data('animate-prefix') || '', getin = navigation.data('in'), getout = navigation.data('out'); $(window).on('resize', function(){ getwindow = $(window).outerwidth(); }); // active class add & remove // --------------------------- getnav.find('.sina-menu').each(function(){ var $menu = $(this); $menu.on('click', function(e) { if ( 'a' == e.target.tagname ) { $menu.find('li.active').removeclass('active'); $(e.target).parent().addclass('active'); } }); $menu.find('li.active').removeclass('active'); $menu.find( 'a[href="'+ location.href +'"]' ).parent('li').addclass('active'); }); // navbar center // --------------------------------- if( getnav.hasclass('logo-center')){ var mainnav = getnav.find('.sina-menu'), rightnav = mainnav.clone(), lists = mainnav.children('li'), divided = math.round(lists.length / 2); // remove all list item for newly creation mainnav.empty(); rightnav.empty(); // create left part for (var i = 0; i < divided; i++) { mainnav.append( lists[i] ); } mainnav.addclass('navbar-left').wrap('
'); // create right part for (var i = divided; i < lists.length; i++) { rightnav.append( lists[i] ); } getnav.find('.col-half.left').after( rightnav.addclass('navbar-right') ); rightnav.wrap(''); } // mobile sidebar // --------------------------------- if( getnav.hasclass('mobile-sidebar') ) { var $collapse = getnav.find('.navbar-collapse'); // add class to body if ( $('body').children('.wrapper').length < 1 ) { $('body').wrapinner(''); } if ( getnav.hasclass('navbar-reverse') ) { $collapse.on('shown.bs.collapse', function() { $('body').addclass('mobile-right'); }); $collapse.on('hide.bs.collapse', function() { $('body').removeclass('mobile-right'); }); $(window).on('resize', function(){ $('body').removeclass('mobile-right'); getnav.find('.navbar-collapse').removeclass('show'); getnav.find('.navbar-toggle .fa', this).removeclass('fa-times').addclass('fa-bars'); }); } else{ $collapse.on('shown.bs.collapse', function() { $('body').addclass('mobile-left'); }); $collapse.on('hide.bs.collapse', function() { $('body').removeclass('mobile-left'); }); $(window).on('resize', function(){ $('body').removeclass('mobile-left'); getnav.find('.navbar-collapse').removeclass('show'); getnav.find('.navbar-toggle .fa', this).removeclass('fa-times').addclass('fa-bars'); }); } } // navbar fixed // --------------------------------- function freeznav() { var scrolltop = $(window).scrolltop(), winwidth = $(window).outerwidth(); if( winwidth > 1599 && scrolltop > xltop ){ getnav.addclass('navbar-freez'); } else if( winwidth > 1199 && scrolltop > top ){ getnav.addclass('navbar-freez'); } else if( winwidth > 991 && scrolltop > mdtop ){ getnav.addclass('navbar-freez'); } else { getnav.removeclass('navbar-freez'); } } if( getnav.hasclass('navbar-fixed') ){ $(window).on('scroll', function(){ freeznav(); }); $(window).on('resize', function(){ freeznav(); }); if ( getwindow > 991 && $(window).scrolltop() > top ) { getnav.addclass('navbar-freez'); } } // navbar transparent // --------------------------------- function transnav() { var scrolltop = $(window).scrolltop(), winwidth = $(window).outerwidth(); if( winwidth > 1599 && scrolltop > xltop ){ getnav.removeclass('navbar-transparent'); } else if( winwidth > 1199 && scrolltop > top ){ getnav.removeclass('navbar-transparent'); } else if( winwidth > 991 && scrolltop > mdtop ){ getnav.removeclass('navbar-transparent'); } else { getnav.addclass('navbar-transparent'); } } if( getnav.hasclass('navbar-transparent') ){ $(window).on('scroll', function(){ transnav(); }); $(window).on('resize', function(){ transnav(); }); if ( getwindow > 991 && $(window).scrolltop() > top ) { getnav.removeclass('navbar-transparent'); } } // search-box // --------------------------------- getnav.find('.extension-nav').each(function(){ $('.search > a', this).on('click', function(e){ e.preventdefault(); $('.search-box').slidetoggle(); }); }); $('.search-addon.close-search').on('click', function(){ $('.search-box').slideup(); }); // widget-bar // --------------------------------- getnav.find('.extension-nav').each(function(){ $('.widget-bar-btn > a', this).on('click', function(e){ e.preventdefault(); getnav.children('.widget-bar').toggleclass('on'); }); }); getnav.find('.widget-bar .close-widget-bar').on('click', function(e){ e.preventdefault(); getnav.children('.widget-bar').removeclass('on'); }); // toggle button // getnav.find('.navbar-toggle').on('click', function(){ // $('.fa', this).toggleclass('fa-bars').toggleclass('fa-times'); // }); // eevent // ------------------------------------- getnav.find('.sina-menu, .extension-nav').each(function(){ var menu = this; $('.dropdown-toggle', menu).on('click', function (e) { e.stoppropagation(); return false; }); $('.dropdown-menu', menu).addclass(anim+'animated'); $('.dropdown', menu).on('mouseenter', function(){ var dropdown = this; $('.dropdown-menu', dropdown).eq(0).removeclass(getout).stop().fadein().addclass(getin); $(dropdown).addclass('on'); }); $('.dropdown', menu).on('mouseleave', function(){ var dropdown = this; $('.dropdown-menu', dropdown).eq(0).removeclass(getin).stop().fadeout().addclass(getout); $(dropdown).removeclass('on'); }); $('.mega-menu-col', menu).children('.sub-menu').removeclass('dropdown-menu '+anim+'animated'); }); if( getwindow < 992 ) { // megamenu getnav.find('.menu-item-has-mega-menu').each(function(){ var megamenu = this, $columnmenus = []; $('.mega-menu-col', megamenu).children('.sub-menu').addclass('dropdown-menu '+anim+'animated'); $('.mega-menu-col', megamenu).each(function(){ var megamenucolumn = this; $('.mega-menu-col-title', megamenucolumn).on('mouseenter', function(){ var title = this; $(title).closest('.mega-menu-col').addclass('on'); $(title).siblings('.sub-menu').stop().fadein().addclass(getin); }); if( !$(megamenucolumn).children().is('.mega-menu-col-title') ) { $columnmenus.push( $(megamenucolumn).children('.sub-menu') ); } }); $(megamenu).on('mouseenter', function(){ var submenu; for (submenu in $columnmenus) { $columnmenus[ submenu ].stop().fadein().addclass(getin); } }); $(megamenu).on('mouseleave', function() { $('.dropdown-menu', megamenu).stop().fadeout().removeclass(getin); $('.mega-menu-col', megamenu).removeclass('on'); }); }); } }); } // initialize $('.sina-nav').sinanav(); }(jquery)); $('.fa-times').click(function(){ $('body').removeclass('mobile-left'); $('.navbar-collapse').removeclass('show'); })