/** * plugin: jquery.navidropdown.js * author: kt cheung * website: www.mashedcreative.com * description: simple jquery navigation drop down menu with easing and hoverintent **/ (function($){ $.fn.navidropdown = function(options) { //set up default options var defaults = { dropdownclass: 'dropdown', //the class name for your drop down dropdownwidth: '', //the default width of drop down elements slidedowneasing: 'easeinoutcirc', //easing method for slidedown slideupeasing: 'easeinoutcirc', //easing method for slideup slidedownduration: 400, //easing duration for slidedown slideupduration: 400, //easing duration for slideup orientation: 'horizontal' //orientation - either 'horizontal' or 'vertical' }; var opts = $.extend({}, defaults, options); return this.each(function() { var $this = $(this); $this.find('.'+opts.dropdownclass).css('width', opts.dropdownwidth).css('display', 'none'); var buttonwidth = $this.find('.'+opts.dropdownclass).parent().width() + 'px'; var buttonheight = $this.find('.'+opts.dropdownclass).parent().height() + 'px'; if(opts.orientation == 'horizontal') { //$this.find('.'+opts.dropdownclass).css('left', '60px').css('top', '116px'); } if(opts.orientation == 'vertical') { $this.find('.'+opts.dropdownclass).css('left', buttonwidth).css('top', '0px'); } $this.find('li').hoverintent(getdropdown, hidedropdown); }); function getdropdown(){ activenav = $(this); showdropdown(); } function showdropdown(){ activenav.find('.'+opts.dropdownclass).slidedown({duration:opts.slidedownduration, easing:opts.slidedowneasing}); } function hidedropdown(){ activenav.find('.'+opts.dropdownclass).slideup({duration:opts.slideupduration, easing:opts.slideupeasing});//hides the current dropdown } }; })(jquery);