Recent Questions
Q: Do you have an extremely simple example of modifying drop down menus with the JavaScript API?
A: You should use the following function:
function dm_ext_changeItem (menuInd, submenuInd, itemInd, iParams)
<script language="javascript" >
dm_ext_changeItem(0, 0, 1, ["", "", "new_icon.gif", "new_icon_o.gif", "",,""]);
</script>
Q: It seems that if I try and use the syntax ["| with some HTML such as <DIV class = 'myclass'> inside dropdown menu it IGNORES the HTML and just treats it like another link.
But if I don't start the line with ["| ..... Then I get a syntax error.
For example:
I am trying to place 4 links in a square shape in the top left of my screen. To do this I was going to create DIV's and set the TOP and LEFT to different values from within a loop (I left out the code that does the updating for myleft and mytop...)
var menuItems = [
<loop>
["|<div style='position: absolute; left: <cfoutput>#myleft#</cfoutput>px; top: <cfoutput>#mytop#</cfoutput>px>'","", "", "", "", "", "", "", "", "", "",],
["|#ParentMenuDesc#","index.cfm?Workflow=#Workflow#&role=#Privilege_id#&cacheid=#createuuid()#&Process_Type=#Process_Type#&PageMode=#Process_Logic#", "#menu_option_icon#", "", "", "_top", "", "", "", "", "",],
["|</div>","", "", "", "", "", "", "", "", "", "",],
<end loop>
];
What am I doing wrong here?.... Can you show me how to accomplish this task?
A: No, this syntax is incorrect. It won't work.
var menuItems = [
<loop>
["|<div style='position: absolute; left: <cfoutput>#myleft#</cfoutput>px; top: <cfoutput>#mytop#</cfoutput>px>'","", "", "", "", "", "", "", "", "", "",],
["|#ParentMenuDesc#","index.cfm?Workflow=#Workflow#&role=#Privilege_id#&cacheid=#createuuid()#&Process_Type=#Process_Type#&PageMode=#Process_Logic#", "#menu_option_icon#", "","", "_top", "", "", "", "", "",],
["|</div>","", "", "", "", "", "", "", "", "", "",],<end loop>
];
You should have <div> ... </div> tags in each dropdown menu item!
It is not correctly to write <div> ... </div> tags for wholesubmenu.
var menuItems = [
["|<div style='position: absolute; left:<cfoutput>#myleft#</cfoutput>px; top: <cfoutput>#mytop#</cfoutput>px>text</div>'","", "", "", "", "", "", "", "", "", "",],
["|#ParentMenuDesc#","index.cfm?Workflow=#Workflow#&role=#Privilege_id#&cacheid=#createuuid()#&Process_Type=#Process_Type#&PageMode=#Process_Logic#", "#menu_option_icon#", "","", "_top", "", "", "", "", "",],
["| ","", "", "", "", "", "", "", "", "", "",],
];
Q: Can I add the value of the parameter to the link where I want my application to go when I active a submenu in the menu script?
A: Actually you can add php code inside menu links.
If you define your parameter in .js file you should write yourlinks in the following way, for example:
<?
....
$key = 123456;
....
?>
["Home","www.domain.com/home.php?key=<? echo $key ?>", "", "", "", "", "", "", "", ],
If you define your key parameter in the php file you should move your
menuItems into your php page directly:
<?
....
$key = 123456;
....
?>
<script type="text/javascript">
var tmenuItems = [
['Deluxe Menu','http://deluxe-menu.com','icon.gif',,,,,],
['Deluxe Tree','http://deluxe-tree.com','icon.gif',,'New!',,,],
['Deluxe Tabs','http://deluxe-tabs.com','icon.gif',,'New!',,,],
["Home","www.domain.com/home.php?key=<? echo $key ?>", "", "", "", "", "", "", "", ],
];
dm_init();
</script>
Q: One more question. How can I make the javascript submenus appear much more quickly? They appear but only after mouseing-over the menu and waiting for approximatelyone second.
A: Try to adjust the following parameters:
var dm_writeAll=0;
var smShowPause=100;
var smHidePause=1000;
var transDuration=150;
var transDuration2=200;
You can also turn off transitional effects
var transition=-1;