Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- jQuery DropDown menu
- */
- var ddmenu={
- buildmenu:function(menuid){
- $(document).ready(function($){
- var $mainmenu=$("#"+menuid+">ul");
- $mainmenu.children('li:first').addClass('first');
- $mainmenu.children('li:last').addClass('last');
- $("#"+menuid+">ul>li.parent").each(function(){
- var level2 = $(this).find('ul:eq(0)');
- if ( level2.width() < $(this).outerWidth(true) ) {
- level2.width($(this).outerWidth(true));
- }
- });
- var $headers=$mainmenu.find("ul").parent();
- $headers.each(function(i){
- var $subul=$(this).find('ul:eq(0)');
- this._dimensions={
- w:this.offsetWidth,
- h:this.offsetHeight,
- subulw:$subul.outerWidth(),
- subulh:$subul.outerHeight()
- }
- this.istopheader=$(this).parents("ul").length==1? true : false;
- $subul.css({top:this.istopheader? this._dimensions.h+"px" : 0});
- $(this).hover(
- function(e){
- $(this).addClass('ddhover').children("a").addClass('ddhover');
- var $targetul=$(this).children("ul:eq(0)");
- if ( $(this).data('direction') ) {
- this._offsets={
- right:$(this).offset().right,
- top:$(this).offset().top
- }
- var menuright=this.istopheader? 0 : this._dimensions.w;
- menuright=(this._offsets.right+menuright+this._dimensions.subulw>$(window).width())? (this.istopheader? -this._dimensions.subulw+this._dimensions.w : -this._dimensions.w) : menuright;
- $targetul.css({
- right:menuright+"px",
- width:this._dimensions.subulw+'px',
- visibility: 'visible'
- });
- } else {
- this._offsets={
- left:$(this).offset().left,
- top:$(this).offset().top
- }
- var menuleft=this.istopheader? 0 : this._dimensions.w;
- menuleft=(this._offsets.left+menuleft+this._dimensions.subulw>$(window).width())? (this.istopheader? -this._dimensions.subulw+this._dimensions.w : -this._dimensions.w) : menuleft;
- $targetul.css({
- left:menuleft+"px",
- width:this._dimensions.subulw+'px',
- visibility: 'visible'
- });
- }
- },
- function(e){
- $(this).children("ul:eq(0)").css('visibility', 'hidden');
- $(this).removeClass('ddhover').children("a:eq(0)").removeClass('ddhover');
- }
- ); //end hover
- $(this).click(function(){
- $(this).children("ul:eq(0)").hide()
- });
- }); //end $headers.each()
- });
- }
- }
- ddmenu.buildmenu("menu");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement