Recent Questions
Q: Is there a way to have the menu stay expanded in the same exact state when
I click on a menu item of the javascript tree view and go to a new page?
A: There is no need to write additional code on a server side to remember what items were expanded/collapsed.
DHTML Tree Menu can save items state automatically.
Please, see the example of the menu that works with cookies:
http://dhtml-menu.com/tree-examples/tree-menuxp-save-state.html
Set the following parameter:
var tsaveState = 1;
and the menu remembers its structure for each user who visit your page.
Try to expand/collapse items. Then reload the page and you'll see results.
Q: Can you please give me tips on how I can style all menuitems to have font bold when selected and normal font when not selected?
A: Unfortunately, Deluxe Tree doesn't have such a feature. You can onlyset it's color. You cannot set the font of menu item bold when selected.
You can set menu item's font bold onMouseover, see example here:
http://deluxe-tree.com/data-templates/vista-style-7-template-sample.html
You should addthe following code in your data file:
function changeFont(obj, over)
{
obj.style.fontWeight = over ? 'bold' : 'normal';
obj.style.fontSize = over ? '13px' : '12px'; // You can not use this line
}
var tmenuItems = [
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Security</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Ease of Access</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Internet Options</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Windows Firewall</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Network and Internet</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Hardware</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Programs</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Appearance</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>User Accounts</div>","", "", "", "", "", "", "", "", ],
["|<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Personalization</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Sound and Speech</div>","", "", "", "", "", "", "", "", ],
["<div onMouseOver='changeFont(this, 1)' onMouseOut='changeFont(this, 0)'>Additional Options</div>","", "", "", "", "", "", "", "", ],
];
Please, notice also that you should add this function every time whenyou change your menu in Deluxe Tuner application, as Tuner deletesthis function.
Q: Can I add the value of the parameter to the link where I want my application to go when I active a submenu in the menu script?
A: Actually you can add php code inside menu links.
If you define your parameter in .js file you should write yourlinks in the following way, for example:
<?
....
$key = 123456;
....
?>
["Home","www.domain.com/home.php?key=<? echo $key ?>", "", "", "", "", "", "", "", ],
If you define your key parameter in the php file you should move your
menuItems into your php page directly:
<?
....
$key = 123456;
....
?>
<script type="text/javascript">
var tmenuItems = [
['Deluxe Menu','http://deluxe-menu.com','icon.gif',,,,,],
['Deluxe Tree','http://deluxe-tree.com','icon.gif',,'New!',,,],
['Deluxe Tabs','http://deluxe-tabs.com','icon.gif',,'New!',,,],
["Home","www.domain.com/home.php?key=<? echo $key ?>", "", "", "", "", "", "", "", ],
];
dm_init();
</script>
Q: I created a test page with your product. I have a frame page consisting of a header and content.
The drop down menus are in the header and cross nicely into the content frame when they drop down. This part is working as planned! The first time I open the test page in my browser any link in any drop down menu will work the first time just fine.
Then, if I pick another link in any drop down menu, it appends the address of the first link to the address of the second link and the URL fails.
It is acting like it writes the url for the first link into some variable, then forgets to null it on select, and then appends the url for the second link to the variable. As I click links in different drop down menus it keeps doing this append feature until I have a very long worthless URL path. If I close the browser and start over then the first thing I click on will work properly, but that is all that will work.
I tried this test page on two different PCs, just in case there was a problem on my browsers. MS IE.6.0
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.