Recent Questions
Q: I am in the final stages of testing and need some advice and help.
I have two problems I am trying to address.
1) Arrows on dropdown menu select.
2) Load time.
Please notice, I have to use absolute paths for the dropdown menu select to work.
1) I can't get the arrows to show, so I tried to add the code for images in the first bold sentence below.
2) I tried to add the second line for absolute paths for links to increase load time in the second bold sentence. It appears that the load time is increased by about 3 seconds and that the menu is the last to load, even though I have tried to have this as the first html to load.
Neither one of my commands appear to work.
This site has over 10,000,000 items on it, and I can't wait to get this up and running. Your program is the perfect solution for anybody with a website.
A: 1) Now you have:
var arrowImageMain=["mainmenu.files/arrv_blue_2.gif","mainmenu.files/arrv_white_2.gif"];
var arrowImageSub=["mainmenu.files/arr_blue_2.gif","mainmenu.files/arr_white_2.gif"];
You should set your arrows in the following way:
var arrowImageMain=["arrv_blue_2.gif","arrv_white_2.gif"];
var arrowImageSub=["arr_blue_2.gif","arr_white_2.gif"];
2) Your menu is very large. I advise you to us AJAX like technology.
http://deluxe-menu.com/ajax-technology-menu-sample.html
You can also try the following things:
move all <script> calls into <head>, but delete dm_init() function from mainmenu.js file -- move them instead offiles calls, i.e.:
<head>
<script src=mainmenu.js>
...
</head>
...
<div><script>dm_init();</script></div>
It this case data will be loaded when <head> will load, but after thatdropdown menu select must be shown quickly.
Let me know about results.
Q: I use the apy menu inside a table cell and it has 6 sub menus. The table width is 600 so I would like to have each sub menu with width 100 and each item with the same width. I use menuWidth=100 and itemWidth=100 but it doesn't work, each menu has a different size depending on the label.
Also, each sub menu label can fit in less than 100 but I really want the width to be 100 so it looks consistant across the full menu.
What am I doing wrong ?
A: You should use individual item styles. For example:
var itemStyles = [
["itemWidth=100px"],
];
["DHTML
Menus","", "", "", , , "0", , , , , ],
...
["Apycom
products","", "", "", , , "0", , , , , ],
...
["Contacts","http://www.apycom.com/contact.html", "", "", , , "0", , , , , ],
See the attached example.
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 would like to know how I indicate on a javascript menu, an item that was selected.
So in other words, if I have a horizontal navigation and I select the 3rd index along the menu
and select something from this, how can I make the 3rd index highlighted?
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">Javascript Menu 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.