Results 1 to 7 of 7

Thread: Navigational Menu - how to delete a function?

  1. #1
    Join Date
    Sep 2009
    Location
    in germany ;)
    Posts
    6
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default Navigational Menu - how to delete a function?

    1) Script Title: Smooth Navigational Menu

    2) Script URL (on DD): http://www.dynamicdrive.com/dynamici...smoothmenu.htm

    3) Describe problem: Wanted to delete the Function with the arrows... It doesn't work and mixed up the whole code so I downloaded the js-script again. Then it worked normaly with the arrowfunction. But I still want to delete the arrowfunction. how to do this? deleting only the arrow pictures doesn't work. i think i have to do sth in the js?

  2. #2
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    To remove both the right and down arrows, find the below line inside the .js file:

    Code:
    		$curobj.children("a:eq(0)").css(this.istopheader? {paddingRight: smoothmenu.arrowimages.down[2]} : {}).append( //add arrow images
    			'<img src="'+ (this.istopheader && setting.orientation!='v'? smoothmenu.arrowimages.down[1] : smoothmenu.arrowimages.right[1])
    			+'" class="' + (this.istopheader && setting.orientation!='v'? smoothmenu.arrowimages.down[0] : smoothmenu.arrowimages.right[0])
    			+ '" style="border:0;" />'
    		)
    and change that to just:

    Code:
    		$curobj.children("a:eq(0)").css(this.istopheader? {paddingRight: smoothmenu.arrowimages.down[2]} : {})
    DD Admin

  3. #3
    Join Date
    Sep 2009
    Location
    in germany ;)
    Posts
    6
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default

    done. it doesen't show the arrows anymore! exactly what i want, but now the submenus don't open when i hover the menu...
    do you need a screenshot?

  4. #4
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    That probably means you did something incorrect, resulting in the script not working altogether actually. Double check that you made the modification correctly, or post a link to the problem page if needed.
    DD Admin

  5. #5
    Join Date
    Sep 2009
    Location
    in germany ;)
    Posts
    6
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default

    I checked it and didn't found anything. so I let a friend check it. He found nothing, too.
    I uploaded it especially for you on bplaced (or for other who wants to help (please!))
    Here you are: http://monstercarnival.bplaced.net/ (It's the part with 01.Home and so on... I changed the menus in pictures)

    And I've got a question for an other post of me. How to close them and symbol it as solved?

  6. #6
    Join Date
    Sep 2008
    Location
    Bristol - UK
    Posts
    842
    Thanks
    32
    Thanked 132 Times in 131 Posts

    Default

    There's an extra bracket where it's not needed. You should get something like Firebug and it would show you where the errors in the script lie.


    Error: syntax error
    Source File: http://monstercarnival.bplaced.net/ddsmoothmenu.js
    Line: 66, Column: 16
    Source Code:
    )

    Take out the bracket on line 66, and the script works.

    Here's just the whole thing so you can copy paste:

    Code:
    //** Smooth Navigational Menu- By Dynamic Drive DHTML code library: http://www.dynamicdrive.com
    //** Script Download/ instructions page: http://www.dynamicdrive.com/dynamicindex1/ddlevelsmenu/
    //** Menu created: Nov 12, 2008
    
    //** Dec 12th, 08" (v1.01): Fixed Shadow issue when multiple LIs within the same UL (level) contain sub menus: http://www.dynamicdrive.com/forums/showthread.php?t=39177&highlight=smooth
    
    //** Feb 11th, 09" (v1.02): The currently active main menu item (LI A) now gets a CSS class of ".selected", including sub menu items.
    
    //** May 1st, 09" (v1.3):
    //** 1) Now supports vertical (side bar) menu mode- set "orientation" to 'v'
    //** 2) In IE6, shadows are now always disabled
    
    //** July 27th, 09" (v1.31): Fixed bug so shadows can be disabled if desired.
    
    
    var ddsmoothmenu={
    
    //Specify full URL to down and right arrow images (23 is padding-right added to top level LIs with drop downs):
    arrowimages: {down:['downarrowclass', 'down.gif', 23], right:['rightarrowclass', 'right.gif']},
    
    transition: {overtime:300, outtime:300}, //duration of slide in/ out animation, in milliseconds
    shadow: {enable:true, offsetx:5, offsety:5},
    
    ///////Stop configuring beyond here///////////////////////////
    
    detectwebkit: navigator.userAgent.toLowerCase().indexOf("applewebkit")!=-1, //detect WebKit browsers (Safari, Chrome etc)
    detectie6: document.all && !window.XMLHttpRequest,
    
    getajaxmenu:function($, setting){ //function to fetch external page containing the panel DIVs
            var $menucontainer=$('#'+setting.contentsource[0]) //reference empty div on page that will hold menu
            $menucontainer.html("Loading Menu...")
            $.ajax({
                    url: setting.contentsource[1], //path to external menu file
                    async: true,
                    error:function(ajaxrequest){
                            $menucontainer.html('Error fetching content. Server Response: '+ajaxrequest.responseText)
                    },
                    success:function(content){
                            $menucontainer.html(content)
                            ddsmoothmenu.buildmenu($, setting)
                    }
            })
    },
    
    
    buildmenu:function($, setting){
            var smoothmenu=ddsmoothmenu
            var $mainmenu=$("#"+setting.mainmenuid+">ul") //reference main menu UL
            $mainmenu.parent().get(0).className=setting.classname || "ddsmoothmenu"
            var $headers=$mainmenu.find("ul").parent()
            $headers.hover(
                    function(e){
                            $(this).children('a:eq(0)').addClass('selected')
                    },
                    function(e){
                            $(this).children('a:eq(0)').removeClass('selected')
                    }
            )
            $headers.each(function(i){ //loop through each LI header
                    var $curobj=$(this).css({zIndex: 100-i}) //reference current LI header
                    var $subul=$(this).find('ul:eq(0)').css({display:'block'})
                    this._dimensions={w:this.offsetWidth, h:this.offsetHeight, subulw:$subul.outerWidth(), subulh:$subul.outerHeight()}
                    this.istopheader=$curobj.parents("ul").length==1? true : false //is top level header?
                    $subul.css({top:this.istopheader && setting.orientation!='v'? this._dimensions.h+"px" : 0})
                    $curobj.children("a:eq(0)").css(this.istopheader? {paddingRight: smoothmenu.arrowimages.down[2]} : {})
                    if (smoothmenu.shadow.enable){
                            this._shadowoffset={x:(this.istopheader?$subul.offset().left+smoothmenu.shadow.offsetx : this._dimensions.w), y:(this.istopheader? $subul.offset().top+smoothmenu.shadow.offsety : $curobj.position().top)} //store this shadow's offsets
                            if (this.istopheader)
                                    $parentshadow=$(document.body)
                            else{
                                    var $parentLi=$curobj.parents("li:eq(0)")
                                    $parentshadow=$parentLi.get(0).$shadow
                            }
                            this.$shadow=$('<div class="ddshadow'+(this.istopheader? ' toplevelshadow' : '')+'"></div>').prependTo($parentshadow).css({left:this._shadowoffset.x+'px', top:this._shadowoffset.y+'px'})  //insert shadow DIV and set it to parent node for the next shadow div
                    }
                    $curobj.hover(
                            function(e){
                                    var $targetul=$(this).children("ul:eq(0)")
                                    this._offsets={left:$(this).offset().left, top:$(this).offset().top}
                                    var menuleft=this.istopheader && setting.orientation!='v'? 0 : this._dimensions.w
                                    menuleft=(this._offsets.left+menuleft+this._dimensions.subulw>$(window).width())? (this.istopheader && setting.orientation!='v'? -this._dimensions.subulw+this._dimensions.w : -this._dimensions.w) : menuleft //calculate this sub menu's offsets from its parent
                                    if ($targetul.queue().length<=1){ //if 1 or less queued animations
                                            $targetul.css({left:menuleft+"px", width:this._dimensions.subulw+'px'}).animate({height:'show',opacity:'show'}, ddsmoothmenu.transition.overtime)
                                            if (smoothmenu.shadow.enable){
                                                    var shadowleft=this.istopheader? $targetul.offset().left+ddsmoothmenu.shadow.offsetx : menuleft
                                                    var shadowtop=this.istopheader?$targetul.offset().top+smoothmenu.shadow.offsety : this._shadowoffset.y
                                                    if (!this.istopheader && ddsmoothmenu.detectwebkit){ //in WebKit browsers, restore shadow's opacity to full
                                                            this.$shadow.css({opacity:1})
                                                    }
                                                    this.$shadow.css({overflow:'', width:this._dimensions.subulw+'px', left:shadowleft+'px', top:shadowtop+'px'}).animate({height:this._dimensions.subulh+'px'}, ddsmoothmenu.transition.overtime)
                                            }
                                    }
                            },
                            function(e){
                                    var $targetul=$(this).children("ul:eq(0)")
                                    $targetul.animate({height:'hide', opacity:'hide'}, ddsmoothmenu.transition.outtime)
                                    if (smoothmenu.shadow.enable){
                                            if (ddsmoothmenu.detectwebkit){ //in WebKit browsers, set first child shadow's opacity to 0, as "overflow:hidden" doesn't work in them
                                                    this.$shadow.children('div:eq(0)').css({opacity:0})
                                            }
                                            this.$shadow.css({overflow:'hidden'}).animate({height:0}, ddsmoothmenu.transition.outtime)
                                    }
                            }
                    ) //end hover
            }) //end $headers.each()
            $mainmenu.find("ul").css({display:'none', visibility:'visible'})
    },
    
    init:function(setting){
            if (typeof setting.customtheme=="object" && setting.customtheme.length==2){ //override default menu colors (default/hover) with custom set?
                    var mainmenuid='#'+setting.mainmenuid
                    var mainselector=(setting.orientation=="v")? mainmenuid : mainmenuid+', '+mainmenuid
                    document.write('<style type="text/css">\n'
                            +mainselector+' ul li a {background:'+setting.customtheme[0]+';}\n'
                            +mainmenuid+' ul li a:hover {background:'+setting.customtheme[1]+';}\n'
                    +'</style>')
            }
            this.shadow.enable=(document.all && !window.XMLHttpRequest)? false : this.shadow.enable //in IE6, always disable shadow
            jQuery(document).ready(function($){ //ajax menu?
                    if (typeof setting.contentsource=="object"){ //if external ajax menu
                            ddsmoothmenu.getajaxmenu($, setting)
                    }
                    else{ //else if markup menu
                            ddsmoothmenu.buildmenu($, setting)
                    }
            })
    }
    
    } //end ddsmoothmenu variable
    
    //Initialize Menu instance(s):

  7. The Following User Says Thank You to Schmoopy For This Useful Post:

    thundercode (11-23-2009)

  8. #7
    Join Date
    Sep 2009
    Location
    in germany ;)
    Posts
    6
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default

    Thanks a lot, Schmoopy <3

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •