/* * Treasurej Menu Slider v1.0 * http://www.xecameron.com * Copyright 2012, Jinhwa Ko */ (function($) { var sliderCount = 1; $.fn.menuSlider = function(settings) { settings = $.extend({ autoHeight: true, autoHeightEaseDuration: 500, autoHeightEaseFunction: "easeOutQuad", crossLinking: false, firstPanelToLoad: 1, slideEaseDuration: 500, slideEaseFunction: "easeInOutExpo", slideDirection: "vertical" }, settings); return this.each(function(){ var slider = $(this); var panelHeights = slider.find(".panel").height(); var panelCount = slider.find(".panel").size(); var panelContainerHeight = panelHeights*panelCount; var navClicks = 0; $('.panel', slider).wrapAll(''); $('.panel-container', slider).css({ height: panelContainerHeight }); if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount) { var currentPanel = parseInt(location.hash.slice(1)); var offset = - (panelHeights*(currentPanel - 1)); $('.panel-container', slider).css({ marginTop: offset }); } else if (settings.firstPanelToLoad != 1 && settings.firstPanelToLoad <= panelCount) { var currentPanel = settings.firstPanelToLoad; var offset = - (panelHeights*(currentPanel - 1)); $('.panel-container', slider).css({ marginTop: offset }); } else { var currentPanel = 1; }; $('#mm_tabs' + sliderCount + ' a').each(function(z) { $(this).bind("mouseover || focus", function() { $(".main_menu_container").delay(400).slideDown(); navClicks++; $(this).addClass('current').parents('ul').find('a').not($(this)).removeClass('current'); offset = - (panelHeights*z); alterPanelHeight(z); currentPanel = z + 1; $('.panel-container', slider).stop().animate({ marginTop: offset }, settings.slideEaseDuration, settings.slideEaseFunction); $("#open_link .close_link").removeClass("close_link"); if (!settings.crossLinking) { return false }; }); }); if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount) { $("#mm_tabs" + sliderCount + " a:eq(" + (location.hash.slice(1) - 1) + ")").addClass("current"); } else if (settings.firstPanelToLoad != 1 && settings.firstPanelToLoad <= panelCount) { $("#mm_tabs" + sliderCount + " a:eq(" + (settings.firstPanelToLoad - 1) + ")").addClass("current"); } else { $("#mm_tabs" + sliderCount + " a:eq(0)").addClass("current"); }; if (settings.autoHeight) { panelHeight = $('.main_menu:eq(' + (currentPanel - 1) + ')', slider).height(); slider.css({ height: panelHeight }); }; function alterPanelHeight(x) { if (settings.autoHeight) { panelHeight = $('.main_menu:eq(' + x + ')', slider).height() slider.stop().animate({ height: panelHeight }, settings.autoHeightEaseDuration, settings.autoHeightEaseFunction); }; }; sliderCount++; }); }; })(jQuery);