What follows is sample code showing how to create a dynamically
generated menu in WSS; drop it into a CEWP to and mouse over the arrow:
<menu id="menu_WPQ_" class="ms-SrvMenuUI"></menu>
<SPAN class="ms-HoverCellInActive"
style="CURSOR: hand"
onmouseover="MainMenu(this);"
onmouseout="this.className='ms-HoverCellInActive'"
nowrap valign="bottom"
>
<IMG SRC="/_layouts/images/Menu1.gif" border="0" />
</SPAN>
<script type="Text/JavaScript" language="JavaScript">
// Generate dynamic menu example
// todd@... MindsharpBlogs.com/Todd
// CopyRight (c) 2006, All Rights Reserved
// Last updated 03/24/2005
// Please don't delete this header
var IMG_PATH = "/_layouts/images/";
var SEP = ", ";
var menu = document.getElementById("menu_WPQ_");
function MainMenu(span)
{
try
{
this.className = "ms-HoverCellActiveDark";
var options = new Array(8);
options[0] = "http://www.altavista.com, AltaVista";
options[1] = "http://web.ask.com, Ask";
options[2] = "http://www.google.com, Google";
options[3] = "http://www.hotbot.com, HotBot";
options[4] = "http://search.lycos.com, Lycos";
options[5] = "http://search.msn.com, MSN";
options[6] = "http://www.search.com, CNet";
options[7] = "http://search.yahoo.com, Yahoo!";
//Define a wss dynamic smart menu
if(menu)
{
//Add an option
CAMOpt(menu, "option1",
"document.location.href=\"http://wss1\";",
IMG_PATH + "aca16.gif", "Menu tooltip is broken");
//Add a Seperator
CAMSep(menu);
//Add a submenu with two options
var opts = CASubM(menu, "More Options",
IMG_PATH + "active.gif", "submenu tooltip also broken");
var opts11 = CASubM(opts, "Option 1.1",
IMG_PATH + "acl16.gif", "");
CAMOpt(opts, "Option 1.2",
"document.location.href=\"http://sps1\";",
IMG_PATH + "acl16.gif", "");
for(var i=0; i<options.length; i++)
{
option = options[i].split(SEP);
optionUrl = option[0];
optionName = option[1];
CAMOpt(opts11, optionName,
"document.location.href=\"" + optionUrl + "\";","", "");
}
}
OMenuInt(menu_WPQ_, span, 0, 0, 0);
}
catch(e)
{
alert(e.Message);
}
}
</script>