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: Actually I think we've managed to figure most of the below out, so I'd be grateful if you could give us some pointers with the following instead...
How might we be able to include your javascript menu scripts within e.g. asp tags? We'd like some menu options to be hidden from some users, but I'm getting errors when I put asp tags in your data.js file.
A: It seems to me that you have syntactical error in your code.
Please, check that you don't have double quotes in your code. If you have several quotes you shoulduse back slashes before them, for example:
<%
response.Write( " ['|Test A','javascript:alert(\'Test\');', '', '', '', '', '0', '-1', '', ], " )
%>
["|Loan Profile","../pipeline/loan_profile.asp?id=<%=rsLoans('loan_id')%>", "", "","", "", "", "2"],
Q: Both arrow types are visible when my intranet first loads and when I select a top item that is a direct link to a page.
But, as soon as I select any item from a list of sub items that includes subitems with arrows,
the arrow images disappear from vertical menu until I refresh the site.
A: You can use additional parameters to make menu paths absolute:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
These parameters allow to make images and links paths absolute.
For example:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
var menuItems = [
["text", "index.html", "icon1.gif", "icon2.gif"],
];
So, link path will be look so:
http://domain.com/pages/index.html
Images paths will be look so:
http://domain.com/images/icon1.gif
http://domain.com/images/icon2.gif
Please, try to use these parameters.
Q: When I roll my mouse over my menu, it appears halfway down the page, not next to the menu. This only happens when I enclose the code in <div></div> layers. Is there a way to fix this?
A: It is possible that you have some problems with your css.
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="position:absolute"). 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 <DIV id=SiteMenu>
to the
style="position:absolute;"
So, you'll have:
<DIV id=SiteMenu style="position:absolute;">
Check that.