Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 6 of 6
  1. #1
    New to the CF scene
    Join Date
    Oct 2003
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Angry Navigation Bar won't accept url frame target?

    Dear Coding Forums Members;

    I've been trying desperately to get my javascript nav bar to work with target url's to a frame page but it doesn't seem to accept them. It does accept regular url destinations but not with a target. Here is some of the coding for the menucontext.

    -----------------------------------------

    menu = new Menu();
    menu.addItem("webmasterid", "Web Building Sites", "Web Building Sites", null, null);
    menu.addItem("newsid", "News Sites", "News Sites", null, null);
    menu.addItem("freedownloadid", "Free Downloads", "Free Downloads", null, null);
    menu.addItem("searchengineid", "Search Engines", "Search Engines", null, null);
    menu.addItem("miscid", "Miscellaneous", "Miscellaneous", null, null);


    menu.showMenu();
    }

    ------------------------------------------------

    this is an example of a url I'm trying to get to work;

    "http://www.johndoe.com" target="_main"

    and this is what it accepts in the null placement;

    "http://www.johndoe.com"/);


    Anyone know if it's possible to get this to work or not?

    Many thanks for any feedback!











  • #2
    Supreme Master coder! glenngv's Avatar
    Join Date
    Jun 2002
    Location
    Philippines
    Posts
    11,032
    Thanks
    0
    Thanked 248 Times in 245 Posts
    We cannot help you if we don't know the code in the Menu() function. We have to know what the 4th and 5th parameters (those null values) mean in the addItem() method.

  • #3
    New to the CF scene
    Join Date
    Oct 2003
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ok sorry about that! Hope this is what you need:

    (Also you might need to know that I don't want to use the submenus with this nav bar)



    function showToolbar()
    {
    // AddItem(id, text, hint, location, alternativeLocation);
    // AddSubItem(idParent, text, hint, location);

    menu = new Menu();
    menu.addItem("webmasterid", "Web Building Sites", "Web Building Sites", null, null);
    menu.addItem("newsid", "News Sites", "News Sites", null, null);
    menu.addItem("freedownloadid", "Free Downloads", "Free Downloads", null, null);
    menu.addItem("searchengineid", "Search Engines", "Search Engines", null, null);
    menu.addItem("miscid", "Miscellaneous", "Miscellaneous", null, null);

    menu.addSubItem("webmasterid", "Dynamic Drive", "Dynamic Drive", "http://www.dynamicdrive.com/");
    menu.addSubItem("webmasterid", "Website Abstraction", "Website Abstraction", "http://www.wsabstract.com/");
    menu.addSubItem("webmasterid", "Web Review", "Web Review", "http://www.webreview.com/");
    menu.addSubItem("webmasterid", "Developer.com", "Developer.com", "http://www.developer.com/");
    menu.addSubItem("webmasterid", "Freewarejava.com", "Freewarejava.com", "http://www.freewarejava.com/");
    menu.addSubItem("webmasterid", "Web Monkey", "Web Monkey", "http://www.webmonkey.com/");
    menu.addSubItem("webmasterid", "Jars", "Jars", "http://www.jars.com/");
    menu.addSubItem("webmasterid", "Intro DHTML Guide", "Intro DHTML Guide", "http://members.tripod.com/~toolmandavid");

    menu.addSubItem("newsid", "CNN", "CNN", "http://www.cnn.com");
    menu.addSubItem("newsid", "ABC News", "ABC News", "http://www.abcnews.com");
    menu.addSubItem("newsid", "MSNBC", "MSNBC", "http://www.msnbc.com");
    menu.addSubItem("newsid", "CBS news", "CBS News", "http://www.cbsnews.com");
    menu.addSubItem("newsid", "News.com", "News.com", "http://news.com");
    menu.addSubItem("newsid", "Wired News", "Wired News", "http://www.wired.com");
    menu.addSubItem("newsid", "TechWeb", "TechWeb", "http://www.techweb.com");

    menu.addSubItem("freedownloadid", "Dynamic Drive", "Dynamic Drive", "http://www.dynamicdrive.com/");
    menu.addSubItem("freedownloadid", "Download.com", "Download.com", "http://download.com/");
    menu.addSubItem("freedownloadid", "Jumbo", "Jumbo", "http://www.jumbo.com/");
    menu.addSubItem("freedownloadid", "Tucows", "Tucows", "http://tucows.com/");
    menu.addSubItem("freedownloadid", "WinFiles.com", "WinFiles.com", "http://winfiles.com/");

    menu.addSubItem("searchengineid", "Yahoo", "Yahoo", "http://www.yahoo.com/");
    menu.addSubItem("searchengineid", "Infoseek", "Infoseek", "http://www.infoseek.com/");
    menu.addSubItem("searchengineid", "Excite", "Excite", "http://www.excite.com");
    menu.addSubItem("searchengineid", "HotBot", "HotBot", "http://www.hotbot.com");

    menu.addSubItem("miscid", "Hitbox.com", "Hitbox.com", "http://www.hitbox.com/");
    menu.addSubItem("miscid", "Cnet", "Cnet", "http://www.cnet.com/");
    menu.addSubItem("miscid", "Andover.net", "Andover.net", "http://www.andover.net/");
    menu.addSubItem("miscid", "RealAudio", "RealAudio", "http://www.realaudio.com/");
    menu.addSubItem("miscid", "MP3.com", "MP3.com", "http://www.mp3.com/");

    menu.showMenu();
    }

    Last edited by Legends; 10-22-2003 at 04:12 PM.

  • #4
    Supreme Master coder! glenngv's Avatar
    Join Date
    Jun 2002
    Location
    Philippines
    Posts
    11,032
    Thanks
    0
    Thanked 248 Times in 245 Posts
    I'm talking about the Menu() function

    function Menu(){
    //I want to see the codes here
    }

    Also post the function assigned to addItem method

  • #5
    New to the CF scene
    Join Date
    Oct 2003
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    JEEZ sorry again, I'll just paste the rest of the whole goddarn thing!




    if (document.all) {n=0;ie=1;fShow="visible";fHide="hidden";}
    if (document.layers) {n=1;ie=0;fShow="show"; fHide="hide";}

    window.onerror=new Function("return true")
    ////////////////////////////////////////////////////////////////////////////
    // Function Menu() //
    ////////////////////////////////////////////////////////////////////////////
    rightX = 0;
    function Menu()
    {
    this.bgColor = "#AACCEE";
    if (ie) this.menuFont = "bold xx-small Verdana";
    if (n) this.menuFont = "bold x-small Verdana";
    // this.fontColor = "#003366";

    this.addItem = addItem;
    this.addSubItem = addSubItem;
    this.showMenu = showMenu;
    this.mainPaneBorder = 1;
    this.subMenuPaneBorder = 1;

    this.subMenuPaneWidth = 150;

    lastMenu = null;

    rightY = 0;
    leftY = 0;
    leftX = 0;

    HTMLstr = "";
    HTMLstr += "<!-- MENU PANE DECLARATION BEGINS -->\n";
    HTMLstr += "\n";
    if (ie) HTMLstr += "<div id='MainTable' style='position:relative'>\n";
    // if (n) HTMLstr += "<layer name='MainTable'>\n";
    HTMLstr += "<table width='100%' bgcolor='"+this.bgColor+"' border='"+this.mainPaneBorder+"'>\n";
    HTMLstr += "<tr>";
    if (n) HTMLstr += "<td>&nbsp;";
    HTMLstr += "<!-- MAIN MENU STARTS -->\n";
    HTMLstr += "<!-- MAIN_MENU -->\n";
    HTMLstr += "<!-- MAIN MENU ENDS -->\n";
    if (n) HTMLstr += "</td>";
    HTMLstr += "</tr>\n";
    HTMLstr += "</table>\n";
    HTMLstr += "\n";
    HTMLstr += "<!-- SUB MENU STARTS -->\n";
    HTMLstr += "<!-- SUB_MENU -->\n";
    HTMLstr += "<!-- SUB MENU ENDS -->\n";
    HTMLstr += "\n";
    if (ie) HTMLstr+= "</div>\n";
    // if (n) HTMLstr+= "</layer>\n";
    HTMLstr += "<!-- MENU PANE DECALARATION ENDS -->\n";
    }

    function addItem(idItem, text, hint, location, altLocation)
    {
    var Lookup = "<!-- ITEM "+idItem+" -->";
    if (HTMLstr.indexOf(Lookup) != -1)
    {
    alert(idParent + " already exist");
    return;
    }
    var MENUitem = "";
    MENUitem += "\n<!-- ITEM "+idItem+" -->\n";
    if (n)
    {
    MENUitem += "<ilayer name="+idItem+">";
    MENUitem += "<a href='.' class=clsMenuItemNS onmouseover=\"displaySubMenu('"+idItem+"')\" onclick=\"return false;\">";
    MENUitem += "|&nbsp;";
    MENUitem += text;
    MENUitem += "</a>";
    MENUitem += "</ilayer>";
    }
    if (ie)
    {
    MENUitem += "<td>\n";
    MENUitem += "<div id='"+idItem+"' style='position:relative; font: "+this.menuFont+";'>\n";
    MENUitem += "<a ";
    MENUitem += "class=clsMenuItemIE ";
    // MENUitem += "style='text-decoration: none; font: "+this.menuFont+"; color: "+this.fontColor+"; cursor: hand;' ";
    if (hint != null)
    MENUitem += "title='"+hint+"' ";
    if (location != null)
    {
    MENUitem += "href='"+location+"' ";
    MENUitem += "onmouseover=\"hideAll()\" ";
    }
    else
    {
    if (altLocation != null)
    MENUitem += "href='"+altLocation+"' ";
    else
    MENUitem += "href='.' ";
    MENUitem += "onmouseover=\"displaySubMenu('"+idItem+"')\" ";
    MENUitem += "onclick=\"return false;\" "
    }
    MENUitem += ">";
    MENUitem += "|&nbsp;\n";
    MENUitem += text;
    MENUitem += "</a>\n";
    MENUitem += "</div>\n";
    MENUitem += "</td>\n";
    }
    MENUitem += "<!-- END OF ITEM "+idItem+" -->\n\n";
    MENUitem += "<!-- MAIN_MENU -->\n";

    HTMLstr = HTMLstr.replace("<!-- MAIN_MENU -->\n", MENUitem);
    }

    function addSubItem(idParent, text, hint, location)
    {
    var MENUitem = "";
    Lookup = "<!-- ITEM "+idParent+" -->";
    if (HTMLstr.indexOf(Lookup) == -1)
    {
    alert(idParent + " not found");
    return;
    }
    Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->";
    if (HTMLstr.indexOf(Lookup) == -1)
    {
    if (n)
    {
    MENUitem += "\n";
    MENUitem += "<layer id='"+idParent+"submenu' visibility=hide bgcolor='"+this.bgColor+"'>\n";
    MENUitem += "<table border='"+this.subMenuPaneBorder+"' bgcolor='"+this.bgColor+"' width="+this.subMenuPaneWidth+">\n";
    MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
    MENUitem += "</table>\n";
    MENUitem += "</layer>\n";
    MENUitem += "\n";
    }
    if (ie)
    {
    MENUitem += "\n";
    MENUitem += "<div id='"+idParent+"submenu' style='position:absolute; visibility: hidden; width: "+this.subMenuPaneWidth+"; font: "+this.menuFont+"; top: -300;'>\n";
    MENUitem += "<table border='"+this.subMenuPaneBorder+"' bgcolor='"+this.bgColor+"' width="+this.subMenuPaneWidth+">\n";
    MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
    MENUitem += "</table>\n";
    MENUitem += "</div>\n";
    MENUitem += "\n";
    }
    MENUitem += "<!-- SUB_MENU -->\n";
    HTMLstr = HTMLstr.replace("<!-- SUB_MENU -->\n", MENUitem);
    }

    Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
    if (n) MENUitem = "<tr><td><a class=clsMenuItemNS title='"+hint+"' href='"+location+"'>"+text+"</a><br></td></tr>\n";
    if (ie) MENUitem = "<tr><td><a class=clsMenuItemIE title='"+hint+"' href='"+location+"'>"+text+"</a><br></td></tr>\n";
    MENUitem += Lookup;
    HTMLstr = HTMLstr.replace(Lookup, MENUitem);

    }

    function showMenu()
    {
    document.writeln(HTMLstr);
    }

    ////////////////////////////////////////////////////////////////////////////
    // Private declaration
    function displaySubMenu(idMainMenu)
    {
    var menu;
    var submenu;
    if (n)
    {
    submenu = document.layers[idMainMenu+"submenu"];
    if (lastMenu != null && lastMenu != submenu) hideAll();
    submenu.left = document.layers[idMainMenu].pageX;
    submenu.top = document.layers[idMainMenu].pageY + 25;
    submenu.visibility = fShow;

    leftX = document.layers[idMainMenu+"submenu"].left;
    rightX = leftX + document.layers[idMainMenu+"submenu"].clip.width;
    leftY = document.layers[idMainMenu+"submenu"].top+
    document.layers[idMainMenu+"submenu"].clip.height;
    rightY = leftY;
    } else if (ie) {
    menu = eval(idMainMenu);
    submenu = eval(idMainMenu+"submenu.style");
    submenu.left = calculateSumOffset(menu, 'offsetLeft');
    // submenu.top = calculateSumOffset(menu, 'offsetTop') + 30;
    submenu.top = menu.style.top+23;
    submenu.visibility = fShow;
    if (lastMenu != null && lastMenu != submenu) hideAll();

    leftX = document.all[idMainMenu+"submenu"].style.posLeft;
    rightX = leftX + document.all[idMainMenu+"submenu"].offsetWidth;

    leftY = document.all[idMainMenu+"submenu"].style.posTop+
    document.all[idMainMenu+"submenu"].offsetHeight;
    rightY = leftY;
    }
    lastMenu = submenu;
    }

    function hideAll()
    {
    if (lastMenu != null) {lastMenu.visibility = fHide;lastMenu.left = 0;}
    }

    function calculateSumOffset(idItem, offsetName)
    {
    var totalOffset = 0;
    var item = eval('idItem');
    do
    {
    totalOffset += eval('item.'+offsetName);
    item = eval('item.offsetParent');
    } while (item != null);
    return totalOffset;
    }

    function updateIt(e)
    {
    if (ie)
    {
    var x = window.event.clientX;
    var y = window.event.clientY;

    if (x > rightX || x < leftX) hideAll();
    else if (y > rightY) hideAll();
    }
    if (n)
    {
    var x = e.pageX;
    var y = e.pageY;

    if (x > rightX || x < leftX) hideAll();
    else if (y > rightY) hideAll();
    }
    }

    if (document.all)
    {
    document.body.onclick=hideAll;
    document.body.onscroll=hideAll;
    document.body.onmousemove=updateIt;
    }
    if (document.layers)
    {
    document.onmousedown=hideAll;
    window.captureEvents(Event.MOUSEMOVE);
    window.onmousemove=updateIt;







    I'm a pain in the butt aren't I? Don't answer that!

  • #6
    Supreme Master coder! glenngv's Avatar
    Join Date
    Jun 2002
    Location
    Philippines
    Posts
    11,032
    Thanks
    0
    Thanked 248 Times in 245 Posts
    in the latter part of the addSubItem() method:

    function addSubItem(idParent, text, hint, location, target)
    {
    ...

    Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
    var targetStr = (target) ? " target='"+target+"'":"";
    if (n) MENUitem = "<tr><td><a class=clsMenuItemNS title='"+hint+"' href='"+location+"'" + target +">"+text+"</a><br></td></tr>\n";
    if (ie) MENUitem = "<tr><td><a class=clsMenuItemIE title='"+hint+"' href='"+location+"'" + target +">"+text+"</a><br></td></tr>\n";
    MENUitem += Lookup;
    HTMLstr = HTMLstr.replace(Lookup, MENUitem);

    }

    then just pass the name of target frame in the addSubItem() method call.
    if a particular item needs to be opened in the same window, leave it blank or don't pass it at all.

    menu.addSubItem("newsid", "CNN", "CNN", "http://www.cnn.com", "nameOfTargetFrame");


  •  

    Posting Permissions

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