...

View Full Version : Navigation Bar won't accept url frame target?



Legends
10-22-2003, 12:53 AM
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!










:thumbsup: :thumbsup:

glenngv
10-22-2003, 09:54 AM
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.

Legends
10-22-2003, 04:06 PM
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();
}

:o

glenngv
10-23-2003, 02:45 AM
I'm talking about the Menu() function :rolleyes:

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

Also post the function assigned to addItem method

Legends
10-23-2003, 09:50 AM
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! :p

glenngv
10-23-2003, 10:13 AM
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");



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum