Team:TU Eindhoven/js/script
From 2014.igem.org
(function($) {
$.fn.menumaker = function(options) { var cssmenu = $(this), settings = $.extend({ title: "Menu", format: "dropdown", sticky: false }, options);
return this.each(function() {cssmenu.prepend(' ');
$(this).find("#menu-button").on('click', function(){ $(this).toggleClass('menu-opened'); var mainmenu = $(this).next('ul'); if (mainmenu.hasClass('open')) { mainmenu.hide().removeClass('open'); } else { mainmenu.show().addClass('open'); if (settings.format === "dropdown") { mainmenu.find('ul').show(); } } });
cssmenu.find('li ul').parent().addClass('has-sub');
multiTg = function() { cssmenu.find(".has-sub").prepend(''); cssmenu.find('.submenu-button').on('click', function() { $(this).toggleClass('submenu-opened'); if ($(this).siblings('ul').hasClass('open')) { $(this).siblings('ul').removeClass('open').hide(); } else { $(this).siblings('ul').addClass('open').show(); } }); };
if (settings.format === 'multitoggle') multiTg(); else cssmenu.addClass('dropdown');
if (settings.sticky === true) cssmenu.css('position', 'fixed');
resizeFix = function() { if ($( window ).width() > 768) { cssmenu.find('ul').show(); }
if ($(window).width() <= 768) { cssmenu.find('ul').hide().removeClass('open'); } }; resizeFix(); return $(window).on('resize', resizeFix);
}); };
})(jQuery);
(function($){ $(document).ready(function(){
$(document).ready(function() {
$("#cssmenu").menumaker({ title: "Menu", format: "multitoggle" });$("#cssmenu").prepend("");
var foundActive = false, activeElement, linePosition = 0, menuLine = $("#cssmenu #menu-line"), lineWidth, defaultPosition, defaultWidth;
$("#cssmenu > ul > li").each(function() {
if ($(this).hasClass('active')) { activeElement = $(this); foundActive = true; }
});
if (foundActive === false) {
activeElement = $("#cssmenu > ul > li").first();
}
defaultWidth = lineWidth = activeElement.width();
defaultPosition = linePosition = activeElement.position().left;
menuLine.css("width", lineWidth); menuLine.css("left", linePosition);
$("#cssmenu > ul > li").hover(function() {
activeElement = $(this); lineWidth = activeElement.width(); linePosition = activeElement.position().left; menuLine.css("width", lineWidth); menuLine.css("left", linePosition);
}, function() {
menuLine.css("left", defaultPosition); menuLine.css("width", defaultWidth);
});
});
});
})(jQuery);