Recent Questions
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.
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: The problem that I'm having is when ever the menu has an external link clicked to load in the main frame, the main menu (blue one with icons) dropped down & the frame below is moved to the bottom ofthe menu, or in other terms the menu frame stretches to the size of the menu & moves the main frame down.
A: The menu will work correctly in the cross-frame mode if you load pages into the sub frame from the same domain.
If you load pages from another domain submenus won't be shown in the subframe - they will be shown in the frame with the top-menu.
It's caused by a security policy of browsers - a script can't modify a content of pages from another domain.
Q: Is there a way to programmatically close a hover popup via javascript?
A: You can close the popup using the following function:document.getElementById('win').hide();
Unfortunately it won't work if you use iframe as window content.
You open another page in the popup (in Iframe) so you cannot access
document.getElementById('win').hide();
element which is situated on the first page.
When you use text or object_id as window content the content of the popup will be situated
on the same page so you can access document.getElementById('win') element and hide it.
There is a workaround for Iframe.
Use text as content type and add the following code inside popup:
<a onclick="document.getElementById('win').hide();">...</a> <iframe></iframe>