Recent Questions
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: I used the drop menu creator to create a simple tab example, and I created a simple HTML file to display the tabs. It initially appears fine when the page first displays (e.g., the correct div is hidden), but when I *first* click on a tab I always get a javascript error deep in the .js code. Then I click around a bit between the tabs and get some display problems (no more javascript errors though), until finally the show/hide logic recovers and all looks ok.
The error I initially get is something like “tabs[…].id is not an object”. I have the IE7 debugger turned on, otherwise I might not ever see this error.
FYI, I tried your example menus on your web site and everything is fine! Maybe the .js files on your web site are not the same as those created by the generator?
A: You should set the following parameter in drop menu creator:
var bselectedSmItem=0;
Q: What I meant was that there is an API function dm_ext_changeItem that allows you to specify 8 dropdown menu parameters in an array. What if I only want to change one of them like the link for example? What do I specify in my function call to leave the other 7 parameters unchanged? Do I specify the existing values? Or, can I just put in a comma with no parameter? That would be a lot easier. Thank you.
A: You should specify only dropdown menu parameters you want to change.
You should just put a commas with no parameters, for example:
dm_ext_changeItem(0, 0, 1, ["Deluxe Menu Info", "", "", "", "Deluxe Menu Hint",,"1"]);
Q: I was looking for a feature to reverse the order of items added dynamically to the drop down html menu
I'm not sure where to find it or how to go about getting this new feature incorporated into my code.
Could you please help me and tell me where to go next?
A: To add your items dynamically in the specific position you should usethe following function:
dm_ext_addItemPos(mInd, smInd, iParamsArr, Pos)
where Pos - the position in the menu where you want to add new item(starts with 0).
Check that you have dmenu_dyn.js file in the same folder with dmenu.js
file and set
var dynamic=1;
parameter.