Recent Questions
Q: We are registered users of the Deluxe Menu software. Today I tried to use the Javascript API, but there is something I do not understand and want to ask for support.
First, I set up a very simple menu:
var menuItems=[
['Menu 1'],
['|Submenu 1'],
['Menu 2'],
['|Submenu 2'],
];
This menu is built via dm_init().
Then, I inspect the menu (in Firebug):
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
Ok, there are three submenus. Now I am going to delete one of them:
>>> dm_ext_deleteItem(0, 0, 1)
"Menu 2" disappears on the screen, this works as expected. But now when I re-inspect the menu using the API, I find that the API reports exactly the same as before:
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
So, it seems the report function continues to know about the original menu structure and reflects it. Am I using the API in a wrong way?
The problem I want to solve is to remove the entire menu dinamico dhtml, in order to rebuild it dynamically. Because I did not see a function aimed to this functionality, my plan was to delete all main menu entries subsequently until the main menu inspector no longer reports an entry. Is there (a better) way to achieve this?
A: Unfortunately, dm_ext_deleteItem() only change visibility of theseitems.
It doesn't delete them completely.
We'll try to fix it in the next versions of Deluxe Menu.
Q: Can you tell me the difference between a target and a link.
Also can you explain what self, blank, top, parent, search and custom mean in the javascript menu table please.
A: Link is the url you want to open when you click on the javascript menu table item.
Target controls where you'll open your link:
"_self" - open link in the same window
"_blank" - open link in the new window
"_parent" - will load the linked document where the inner frameset file had been
"_top" - loads the linked document in the topmost frame
custom - you should write here the name of the frame where you want to
open the linked document, for example:
"framename"
"_search" - this target causes the link to load in the browser's Search pane. (Internet Explorer 5.0 and later.)
You can find more info here:
http://www.htmlcodetutorial.com/linking/_A_TARGET.html
Q: Under Opera everything works fine but under IE the submenu’s are way down the page and go off the bottom of the screen.
A: See, the problem is that the script can't get css properties of the object if they are described in separate .css block (or file).
In other words, you can't get the value of "position" attribute of the object if the object doesn't have this property within inline style(style="PADDING-BOTTOM: 10px;"). To get the value you should move .css style into style="" attribute.
Please, try to add your
css file -> inline css, for example:
You should add style="PADDING-BOTTOM: 10px;"
to the
<DIV class=department-menu>
So, you'll have:
<DIV class=department-menu style="POSITION: absolute;PADDING-BOTTOM: 10px;">
Q: I found the problem with de Deluxe Menus:
When the menu is inside the <DIV> </DIV> tags, the menu is shown, but does not scroll.
A: See, you use absolute position for this <div>
<div STYLE="position:absolute;top:151px; left:0px">
But you can use absolute position for the menu. Your menu will scrollin this case.
For example, you should set:
var absolutePos=1;
var posX="0";
var posY="151px";
And install your menu
<div>
<script type="text/javascript" src="data.js"></script>
</div>
Or, write:
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "/";</script>
<script type="text/javascript" src="dmenu.js"></script>
<script type="text/javascript" src="data.js"></script>