????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.148.252.155 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/www.astacus.se/wp-content/themes/x/framework/js/src/site/inc/ |
Upload File : |
// ============================================================================= // JS/SRC/SITE/INC/X-HEAD-DROPDOWNS.JS // ----------------------------------------------------------------------------- // Includes all functionality pertaining to dropdown menus for both "desktop" // and "mobile" navigation. // ============================================================================= // ============================================================================= // TABLE OF CONTENTS // ----------------------------------------------------------------------------- // 01. Dropdowns // ============================================================================= // Dropdowns // ============================================================================= jQuery(function($) { // // Desktop dropdown functionality. // var $desktopMenu = $('.desktop .x-nav'); var desktopTargets = 'li.menu-item-has-children'; var mActiveClass = 'x-active'; var mActionData = 'x-action'; var timer = {}; function showDropdowns(element) { element.addClass(mActiveClass).siblings(desktopTargets).removeClass(mActiveClass); if ( Modernizr && Modernizr.touchevents ) { element.siblings(desktopTargets).data(mActionData, 0); element.find('.' + mActiveClass).removeClass(mActiveClass).data(mActionData, 0); } } function hideDropdowns(element) { element.find('.' + mActiveClass).removeClass(mActiveClass); } function hoverIn(e) { clearTimeout(timer.id); var $li = $(e.target).closest('li'); if ( $li.hasClass('menu-item-has-children') ) { showDropdowns($li); } } function hoverOut(e) { clearTimeout(timer.id); var inMenu = $.contains(document.getElementsByClassName('x-nav-wrap desktop')[0], e.toElement); var ms = ( inMenu ) ? 500 : 1000; var $ul = $(this).closest('ul'); timer.id = setTimeout(function() { hideDropdowns($ul); }, ms); } function touchIn(e) { var $li = $(e.target).closest('li'); $li.data(mActionData, $li.data(mActionData) + 1); if ( $li.hasClass('menu-item-has-children') && $li.data(mActionData) === 1 ) { e.preventDefault(); e.stopPropagation(); showDropdowns($li); } } function touchOut(e) { $(desktopTargets).data(mActionData, 0); hideDropdowns($desktopMenu); } if ( Modernizr && Modernizr.touchevents ) { $(desktopTargets).data(mActionData, 0); $desktopMenu.on('touchstart click', desktopTargets, touchIn); $desktopMenu.on('touchstart click', function(e) { e.stopPropagation(); }); $('body').on('touchstart click', touchOut); } else { $desktopMenu.hoverIntent({ over : hoverIn, out : hoverOut, selector : desktopTargets }); $desktopMenu.on('focusin', desktopTargets, hoverIn); $desktopMenu.on('focusout', desktopTargets, hoverOut); } // // Mobile dropdown functionality. // var $mobileMenu = $('.mobile .x-nav'); var $mobileTargets = $mobileMenu.find('li.menu-item-has-children > a'); var $mobileSubs = $mobileMenu.find('.sub-menu'); $mobileTargets.each(function(i) { $(this).append('<div class="x-sub-toggle" data-toggle="collapse" data-target=".sub-menu.sm-' + i + '"><span><i class="x-icon-angle-double-down" data-x-icon=""></i></span></div>'); }); $mobileSubs.each(function(i) { $(this).addClass('sm-' + i + ' collapse'); }); $('.x-sub-toggle').on('click', function(e) { e.preventDefault(); $(this).toggleClass(mActiveClass).closest('li').toggleClass(mActiveClass); }); });