Recent Questions
Q: I am interested in Deluxe Tabs MAC Style.
However before I do I want to make sure that:
- I can change the buttons pictures on both the first row and the second row. There has to be a <img src=" " > tag in the code somewhere, correct?
- I can expand or diminish the number of buttons and links
- Also, I have a question: if I am on "Mac Tab 1" menu, and I click on "Mac Tab 2" menu without clicking on any of the links onthe second row, what is the page that I see? Do I see by default Link 2_1 or do I see some kind of generic page? In other words is there a "main" page for each tab menu and then you have the other pages which correspond to Link 2_1, Link 2_2, etc.?
- Is it possible to remember a visited sub-menu? For example I am on "Mac Tab 2/Link 2_3" and I go to "Mac Tab 4/Link 4_2" and then I come back to "Mac Tab 2". Can the main page for this "Mac Tab 2" be Link 2_3 which was my last visited link on that tab?
A: 1) No, there is no such tag - <img src=" " >
For the main items you should set such parameters:
bbeforeItemImage - left part of the item
bafterItemImage - right part of the item
bitemBackImage - center part of the item
in normal, mouseover and selected states.
And for the subitems (in MAC template) you should set onlybitemBackImage - the center part of the item.
Please, see the code of this template.
2) You can create any number of the buttons and links.
3) You can set links for main items and for the subitems.
For example:
var bmenuItems =
[
["Mac Tab 1","http://deluxe-menu.com",,,,,,],
["|Link 1_1","http://apycom.com",,,,,,"0"],
["|Link 1_2","testlink.htm",,,,,,"0"],
["|Link 1_3","testlink.htm",,,,,,"0"],
So, if you click on "Mac Tab 1" you will go to http://deluxe-menu.com
And if you write so
["Mac Tab 1","",,,,,,],
no page will open.
4) This Tab menu can save pressed item automatically within1 page only. If you open another page, the menu can't remember presseditem. You should do that manually using Javascript and menu parameters( var bselectedItem, var bselectedSmItem) or using any server-sidescript (php, asp, etc.)
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: We would like it so when you click on an option in the free dhtml menu, the page shows up in the main middle frame..So far, I can only seem to get it to show up in its own page.
A: You should set the correct target parameter for your items.
You can set target parameter for all items:
var itemTarget="main";
Where main - is the name of the main middle frame where you want to open the link.
["Home","testlink.html", "", "", "", "main", "", "", "", "", "", ], Q: I would like to add the javascript API to a link contained in my website that will have the corresponding item in the deluxe-tree menu act as if it was "clicked".
Presumably I need to add the script (for example) <A HREF="http://deluxe-menu.com/features-info.html" TARGET="_self" "..javascriptHere ..">. Can you give me an example please of what code goes into there.
I presume I use dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion) but where do I get the ????Ind data from and make the javascript call in the above link.
A copy of a working example together with where to get the data , perhaps on your own web pages, would help.
A: Deluxe Tree doesn't save a presseditem as it saves a tree state. It works within 1 page only and if youreload the page you should set a pressed item using Javascript API:
function dtreet_ext_setPressedItem (menuInd, itemID)
<script type="text/javascript">
var i = <?php echo $selitem; ?>;
onload=setPressed;
function setPressed()
{
dtreet_ext_setPressedItem(0,dtreet_ext_getItemIDByIndex(0, i));
}
</script>
You should define selitem using server side script.