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: Thank you for your prompt reply. But i was wondering where should I paste this code? Can you please explain the working of the javascript toolbar menu function
dm_ext_changeItemVisibility (menuInd, submenuInd, itemInd, visibility)
I have 5 items in the javascript toolbar menu : Admin Options, Status Report, Remarks, Edit Profile, Data Entry.
I want to disable some fields for different users.
I have 3 role id's set in my database.
I want certain fields disabled for different users.
For eg : For Roleid =1 , i.e admin , I want all items to be visible.
For Roleid =2 , i dont want the Admin Options to be visible.
For Roleid=3 , I dont want Admin Options & Status reports.
Can you please elaborate on the working of the changeItemVisibility function. I was confused as there were no examples to demonstrate the code.
A: Notice also that you should set
var dynamic=1;
parameter to use API functions.
Q: The nav is currently to the left of a flash animated area.
And when a link in the dropdown menu is hovered upon the box opens
but the flash turns white below the nav box.
A: You should add "opaque" parameter for <object> and <embed> tags.
See, how you should install flash on your pages.
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
height="150" width="800">
<param name="movie" value="2008 flash.swf">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<embed src="flash_files/2008%2520flash.swf" quality="high" wmode="opaque"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" height="150" width="800">
</object>
Submenus will overlap flash correctly in that case.
Q: The mentioned effect occurs even when the entire page is completely loaded!
As we explained before, it occurs only when we view the page with explorer 6.
(It is working fine under explorer 7 and under Firefox, so you should check it under explorer 6)
Please see the following link with our test page which demonstrates the problem.
As you will see, the buttons of the javascript menu scroll and the text will disappear (become white) while you move the mouse cursor over the menu buttons. It has nothing to do with page loading.
We are using a "Vista style" javascript menu scroll with custom design pictures.
A: This is IE6 bug.
You can find more info about this bug and solution here:
http://dean.edwards.name/my/flicker.html