Results 1 to 2 of 2

Thread: Drop Down Menu Copying

  1. #1
    Join Date
    Jan 2009
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Drop Down Menu Copying

    1) Script Title: Drop Down Menu Copying

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

    3) Describe problem:

    I am using this code for my website. However, I have multiple links, which means more drop down menus. Now I am trying to get the the second link the have the menu.

    http://khmediatest.freehostia.com

    As you can see, the first link works, but the second doesn't. I have the CSS already duplicated, but I need something else duplicated to be done. Do I need to upload a new dropdownmenu.js file and set it as _2?

    Code:
    // Copyright (C) 2005-2008 Ilya S. Lyubinskiy. All rights reserved.
    // Technical support: http://www.php-development.ru/
    //
    // YOU MAY NOT
    // (1) Remove or modify this copyright notice.
    // (2) Re-distribute this code or any part of it.
    //     Instead, you may link to the homepage of this code:
    //     http://www.php-development.ru/javascripts/dropdown.php
    //
    // YOU MAY
    // (1) Use this code on your website.
    // (2) Use this code as part of another product.
    //
    // NO WARRANTY
    // This code is provided "as is" without warranty of any kind.
    // You expressly acknowledge and agree that use of this code is at your own risk.
    
    
    // ***** Popup Control *********************************************************
    
    // ***** at_show_aux *****
    
    function at_show_aux(parent, child)
    {
      var p = document.getElementById(parent);
      var c = document.getElementById(child );
    
      var top  = (c["at_position"] == "y") ? p.offsetHeight+2 : 0;
      var left = (c["at_position"] == "x") ? p.offsetWidth +2 : 0;
    
      for (; p; p = p.offsetParent)
      {
        top  += p.offsetTop;
        left += p.offsetLeft;
      }
    
      c.style.position   = "absolute";
      c.style.top        = top +'px';
      c.style.left       = left+'px';
      c.style.visibility = "visible";
    }
    
    // ***** at_show *****
    
    function at_show()
    {
      var p = document.getElementById(this["at_parent"]);
      var c = document.getElementById(this["at_child" ]);
    
      at_show_aux(p.id, c.id);
      clearTimeout(c["at_timeout"]);
    }
    
    // ***** at_hide *****
    
    function at_hide()
    {
      var p = document.getElementById(this["at_parent"]);
      var c = document.getElementById(this["at_child" ]);
    
      c["at_timeout"] = setTimeout("document.getElementById('"+c.id+"').style.visibility = 'hidden'", 333);
    }
    
    // ***** at_click *****
    
    function at_click()
    {
      var p = document.getElementById(this["at_parent"]);
      var c = document.getElementById(this["at_child" ]);
    
      if (c.style.visibility != "visible") at_show_aux(p.id, c.id); else c.style.visibility = "hidden";
      return false;
    }
    
    // ***** at_attach *****
    
    // PARAMETERS:
    // parent   - id of the parent html element
    // child    - id of the child  html element that should be droped down
    // showtype - "click" = drop down child html element on mouse click
    //            "hover" = drop down child html element on mouse over
    // position - "x" = display the child html element to the right
    //            "y" = display the child html element below
    // cursor   - omit to use default cursor or specify CSS cursor name
    
    function at_attach(parent, child, showtype, position, cursor)
    {
      var p = document.getElementById(parent);
      var c = document.getElementById(child);
    
      p["at_parent"]     = p.id;
      c["at_parent"]     = p.id;
      p["at_child"]      = c.id;
      c["at_child"]      = c.id;
      p["at_position"]   = position;
      c["at_position"]   = position;
    
      c.style.position   = "absolute";
      c.style.visibility = "hidden";
    
      if (cursor != undefined) p.style.cursor = cursor;
    
      switch (showtype)
      {
        case "click":
          p.onclick     = at_click;
          p.onmouseout  = at_hide;
          c.onmouseover = at_show;
          c.onmouseout  = at_hide;
          break;
        case "hover":
          p.onmouseover = at_show;
          p.onmouseout  = at_hide;
          c.onmouseover = at_show;
          c.onmouseout  = at_hide;
          break;
      }
    }

  2. #2
    Join Date
    Feb 2009
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    You don't need multiple js files. Just make sure your DIV ID's are unique (parent1, parent2, child1, child2 etc.) and when you call at_attach(parent, child, showtype, position, cursor) you pass the differnt parent and child id's. If you have CSS formating based on DIV ID's you will have to create a class for your formatting and add that to your ID's.

    Good Luck!

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
  •