Results 1 to 6 of 6

Thread: Drop Down Menu

  1. #1
    Join Date
    Oct 2008
    Posts
    7
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Unhappy Drop Down Menu

    1) AnyLink Drop Down Menu

    2) http://www.dynamicdrive.com/dynamici...pmenuindex.htm

    3) Code is set to position:absolute. Script works great when added to the uppermost top/left of the page. When I add an image to the page and then add the script below it (as you would see on most websites) the position of the drop down menu becomes moved;

    About Us



    Mission
    Location
    Testimonials

    Appears as such.....

    I have checked the code as best as I can, as well as the layout of the page. What am I missing? I'm kind of a newbie here so be gentle with me......

    I appreciate your help!
    Last edited by smlrgsmth; 10-13-2008 at 12:56 AM.

  2. #2
    Join Date
    Oct 2008
    Posts
    60
    Thanks
    2
    Thanked 7 Times in 7 Posts

    Default Any link drop down menu

    Well i dont know what seems to be the problem? do you have an example that you can provide ie website or code? when i did it, it worked just fine.
    Try using <div>'s for the image and drop down menu.
    Ex.
    <div><img src=""></div>
    <div>coding for drop down menu</div>
    <div><img src=""></div>

    let me know if there is anything else. ps send link to page or post code

  3. The Following User Says Thank You to fobos For This Useful Post:

    smlrgsmth (10-13-2008)

  4. #3
    Join Date
    Oct 2008
    Posts
    7
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Red face Drop Down menu

    http://www.rivertraders.org/untitled1.html.

    Did you add an image to the top of the page? Script works fine when there is no image above it. The drop down menu moves based on the image and the left border.

    Thanks for your response.

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

    Default

    Looking at your page, the location you've inserted the script is incorrect- both its CSS and script itself needs to go in the HEAD section of your page:

    Code:
    <style type="text/css">
    
    #dropmenudiv{
    position:absolute;
    border:1px solid black;
    border-bottom-width: 0;
    font:normal 12px Verdana;
    line-height:18px;
    z-index:100;
    }
    
    #dropmenudiv a{
    width: 100%;
    display: block;
    text-indent: 3px;
    border-bottom: 1px solid black;
    padding: 1px 0;
    text-decoration: none;
    font-weight: bold;
    }
    
    #dropmenudiv a:hover{ /*hover background color*/
    background-color: yellow;
    }
    
    </style>
    
    <script type="text/javascript">
    
    /***********************************************
    * AnyLink Drop Down Menu- &#169; Dynamic Drive (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit http://www.dynamicdrive.com/ for full source code
    ***********************************************/
    
    //Contents for menu 1
    var menu1=new Array()
    menu1[0]='<a href="http://www.Mission.com">Mission</a>'
    menu1[1]='<a href="http://www.Philosophy.com">Philosophy.com</a>'
    menu1[2]='<a href="http://www.Location.com">Location/a>'
    		
    var menuwidth='165px' //default menu width
    var menubgcolor='lightyellow'  //menu bgcolor
    var disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
    var hidemenu_onclick="yes" //hide menu when user clicks within menu?
    
    /////No further editting needed
    
    var ie4=document.all
    var ns6=document.getElementById&&!document.all
    
    if (ie4||ns6)
    document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')
    
    function getposOffset(what, offsettype){
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    var parentEl=what.offsetParent;
    while (parentEl!=null){
    totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
    parentEl=parentEl.offsetParent;
    }
    return totaloffset;
    }
    
    
    function showhide(obj, e, visible, hidden, menuwidth){
    if (ie4||ns6)
    dropmenuobj.style.left=dropmenuobj.style.top="-500px"
    if (menuwidth!=""){
    dropmenuobj.widthobj=dropmenuobj.style
    dropmenuobj.widthobj.width=menuwidth
    }
    if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
    obj.visibility=visible
    else if (e.type=="click")
    obj.visibility=hidden
    }
    
    function iecompattest(){
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
    }
    
    function clearbrowseredge(obj, whichedge){
    var edgeoffset=0
    if (whichedge=="rightedge"){
    var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
    dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
    if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
    edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
    }
    else{
    var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
    var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
    dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
    if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
    edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
    if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
    edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
    }
    }
    return edgeoffset
    }
    
    function populatemenu(what){
    if (ie4||ns6)
    dropmenuobj.innerHTML=what.join("")
    }
    
    
    function dropdownmenu(obj, e, menucontents, menuwidth){
    if (window.event) event.cancelBubble=true
    else if (e.stopPropagation) e.stopPropagation()
    clearhidemenu()
    dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
    populatemenu(menucontents)
    
    if (ie4||ns6){
    showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
    dropmenuobj.x=getposOffset(obj, "left")
    dropmenuobj.y=getposOffset(obj, "top")
    dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
    dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
    }
    
    return clickreturnvalue()
    }
    
    function clickreturnvalue(){
    if (ie4||ns6) return false
    else return true
    }
    
    function contains_ns6(a, b) {
    while (b.parentNode)
    if ((b = b.parentNode) == a)
    return true;
    return false;
    }
    
    function dynamichide(e){
    if (ie4&&!dropmenuobj.contains(e.toElement))
    delayhidemenu()
    else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
    delayhidemenu()
    }
    
    function hidemenu(e){
    if (typeof dropmenuobj!="undefined"){
    if (ie4||ns6)
    dropmenuobj.style.visibility="hidden"
    }
    }
    
    function delayhidemenu(){
    if (ie4||ns6)
    delayhide=setTimeout("hidemenu()",disappeardelay)
    }
    
    function clearhidemenu(){
    if (typeof delayhide!="undefined")
    clearTimeout(delayhide)
    }
    
    if (hidemenu_onclick=="yes")
    document.onclick=hidemenu
    
    </script>
    
    </head>
    DD Admin

  6. The Following User Says Thank You to ddadmin For This Useful Post:

    smlrgsmth (10-14-2008)

  7. #5
    Join Date
    Oct 2008
    Posts
    7
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Default

    thanks for the help and the time you spent in reviewing my site. i sure do appreciate it.

  8. #6
    Join Date
    Oct 2008
    Posts
    7
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Wink

    I made all the changes and it works great!! I have another question.

    I am trying to create a "block" drop down menu. I have tried changing the background in the head tag of the CSS code and it hasn't worked. Looks like I can just change the width. I have searched and search the Dynamicdrive drop down menus and do not see one that has this block feature.

    Example; www.ttcollectiblegifts.com/dynamicdrive.html.

    any ideas?

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
  •