Current Path :
/
home
/
develito
/
www
/
modules
/
mod_maximenuck
/
assets
/
Or
Select Your Path :
Upload File :
New :
File
Dir
/home/develito/www/modules/mod_maximenuck/assets/fancymenuck.v8.js
/** * @copyright Copyright (C) 2012 Cedric KEIFLIN alias ced1870 * https://www.joomlack.fr * Module Maximenu CK * @license GNU/GPL * */ (function($) { //define the defaults for the plugin and how to call it $.fn.FancyMaxiMenu = function(options) { //set default options var defaults = { fancyTransition: 'linear', fancyDuree: 500 }; var options = $.extend(defaults, options); var maximenuObj = this; //act upon the element that is passed into the design return maximenuObj.each(function(options) { var fancyTransition = defaults.fancyTransition; var fancyDuree = defaults.fancyDuree; fancymaximenuInit(); function fancymaximenuInit() { if ($('li.active.level1', maximenuObj).length) { maximenuObj.currentItem = $('li.active.level1', maximenuObj); } else { maximenuObj.currentItem = $('li.hoverbgactive.level1', maximenuObj); } if (!maximenuObj.currentItem.length) { $('li.level1', maximenuObj).each(function(i, el) { el = $(el); el.mouseenter(function() { if (!$('li.hoverbgactive', maximenuObj).length) { el.addClass('hoverbgactive'); maximenuObj.FancyMaxiMenu({fancyTransition: fancyTransition, fancyDuree: fancyDuree}); } //currentItem = this; }); }); } // if no active element in the menu, get out if (!$('.active', maximenuObj).length && !$('.hoverbgactive', maximenuObj).length) return false; $('ul.maximenuck', maximenuObj).append('<li class="maxiFancybackground"><div class="maxiFancycenter"><div class="maxiFancyleft"><div class="maxiFancyright"></div></div></div></li>'); fancyItem = $('.maxiFancybackground', maximenuObj); if (maximenuObj.currentItem.length) setCurrent(maximenuObj.currentItem); $('li.level1', maximenuObj).each(function(i, el) { el = $(el); el.mouseenter(function() { moveFancyck(el); }); el.mouseleave(function() { if (!$('li.active', maximenuObj).length) { $('.maxiFancybackground', maximenuObj).stop(false, false).animate({left: 0, width: 0}, {duration: fancyDuree, easing: fancyTransition}); } else { moveFancyck($(maximenuObj.currentItem)); } }); }); } function moveFancyck(toEl) { var toEl_left = toEl.position().left + parseInt(toEl.css('marginLeft')); var toEl_width = toEl.outerWidth(); $('.maxiFancybackground', maximenuObj).stop(false, false).animate({left: toEl_left, width: toEl_width}, {duration: fancyDuree, easing: fancyTransition}); } function setCurrent(el) { el = $(el); //Retrieve the selected item position and width var default_left = Math.round(el.position().left) + parseInt(el.css('marginLeft')); var default_width = el.outerWidth(); //Set the floating bar position and width $('.maxiFancybackground', maximenuObj).stop(false, false).animate({left: default_left, width: default_width}, {duration: fancyDuree, easing: fancyTransition}); } }); }; })(jQuery);