Recent Questions
Q: Your service is excellent and I am making progress learning the program. I was able to resolve the transparency issue thanks to your help but, but now I have another one that is stumping me.
I can get the dhtml javascript menu script to show up in my html document and it works as I hoped it would. However, no matter where I put the line of code in my html file, the dhtml javascript menu script always shows up at the very top of the page. The instructions indicate the following:
Copy the following code into clipboard and paste it into the place you want to have the dhtml javascript menu script:
<script type="text/javascript" src="newmenu2.js"></script>
For example, into a table cell:
<table>
<td><script type="text/javascript" src="newmenu2.js"></script></td>
</table>
No matter where I put the code: <script type="text/javascript" src="newmenu2.js"></script>, the menu shows up at the top of the page.
What am I missing?
A: Check that you're using relative position for the dhtml javascript menu script:
var absolutePos=0; var posX="0px"; var posY="0px";
Q: We have a problem with the submenus going cross-frame.
Whenever there is a webpage from another website in the content/target-frame the frameset twists and all the pages are shown in the topframe. A lot of the information on our web is in office word-files and when they are opened in the content/target-frame the same cross-frame-problem happens. Is it only possible for the sub-menus to go cross-frame when one of our own webpages is shown in the target-frame?
A: See more info about cross-frame mode here:
http://deluxe-menu.com/cross-frame-mode-sample.html
Notice, 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: One other question, how do you get the menu bar to highlight and stay on the page you are viewing rather than highlighting home the whole time.
A: You should set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page. That is why you should write your own code on PHP.
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.