Recent Questions
Q: I’d like to know how to populate the navigation bar menu from a database?
A: Please, see the example of .php file.The content of .php file depends on your database structure.
<?php
// The example for PHP/MySQL.
// MySQL database has the table "menuTable" that contains data for menu items.
// The table has the following fields:
// 1. "text" - item text
// 2. "link" - item link
// 3. "icon1" - item icon (normal state)
// 4. "icon2" - item icon (mouseover state)
function getMenuItems()
{
$jsItems = '';
// Select all records from table "menuTable"
$allItems = mysql_query('SELECT * FROM menuTable;');
// Extract items data from database and build Javascript code for menuItems
while ($itemData=mysql_fetch_array($allItems))
{
$jsItems .= '["'.$itemData['text'].'", "'.$itemData['link'].'", "'.$itemData['icon1'].'", "'.$itemData['icon2'].'"],';
}
// Return Javascript code
return $jsItems;
}
?>
<script>
var menuParam1 = value1;
var menuParam2 = value2;
var menuParam2 = value2;
...
var menuItems = [
// Write Javascript code for menu items
echo getMenuItems();
?>
];
</script> Q: I can't get the hand pointer to work with my dhtml menu scripts in firefox and IE. I know that firefox requires the itemCursor to be set to pointer, but it doesn't work for all links in my menus. I believe that this worked in past version of deluxe-menu, but stopped working somewhere along the way. To recreate this, create a horizontal menu, and set the pressedItem to be one of the menu items and set the itemCursor to be "pointer". Then, you'll see that the pressed item's pointer is the finger icon, but the other menu items are just the arrow. Is there something I'm doing wrong or a setting that will fix this?
A: No, the reason is not in the pressed item.
See when you set:
var itemCursor="pointer";
your cursor will be a hand for the items with url only. For the itemswithout url it will be default arrow.
Q: I am trying to have the selected top menu w dhtml item remain on the mouseover event after it is selected. It seemed to be working fine when i was just testing with # as a link but when i actually linked to different pages it returns to normal. How do i get this to work.
I tried removing the variable from the data file and calling it using
<script type="text/javascript" language="JavaScript1.2"> var pressedItem=set 1,2,3 depending on page </script>
but this does not seem to work as it does for tabs.
A: You can find more info here:
http://www.deluxe-menu.com/highlighted-items-sample.html
Deluxe Menu has only two states normal and mouseover.
Try to do the following things:
- delete var pressedItem=1; parameter from your data file
- set correct parameter on each page before you call data file, forexample:
<noscript><a href="http://deluxe-menu.com">menu w dhtml by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<script type="text/javascript"> var pressedItem=3;</script>
...
<script type="text/javascript" src="menudir/data.js"></script>
You can also 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: I am still struggling with multiple menus on one page.
It is probably something I am doing wrong, but I cannot see it.
A: Now you have:
var absolutePos=1;
var posX="10";
var posY="10";
So, both of your menus have the same absolute position.
You can use relative position and place your menu inside <table>. In this case you should write so:
var absolutePos=0;