Recent Questions Vertical Tree Menu Javascript
Q: Is there a different type of menu, other than the way I have it set up, such as the tree type, that might load faster or take up less space when the page loads?
A: You should set
var dmAJAX=1;
create .js files with your submenus and call this files from your mainfile, for example:
var menuItems = [
["Home","testlink.htm"],
["Product Info","", , , , , , , "data-samples/data-ajax2.js", ],
["Samples","", , , , , , , "data-samples/data-ajax3.js", ],
["Purchase","testlink.htm"],
["Contact Us","testlink.htm"],
];
/*** data-ajax2.js ****/
var menuItems = [
["Features","testlink.htm"],
["Installation",""],
["Parameters Info","testlink.htm"],
["Dynamic Functions","testlink.htm"],
["Supported Browsers",""],
];
Add dmenu_ajax.js file in the same folder with your dmenu.js file.
Try that.
Q: Hello. I'm trying your javascript expanding menu but cant get a clicked menu to stay highlighted. It works sometimes in Firefox but never in explorer.
With sometimes I mean that if I click a link and that paticular link leeds to nowhere, and i've to click the browsers back button.....then the link I clicked is highlighted when I return. If I make a link that leeds to a new page (with exactly the same code as was generated from delux tuner), then nothing is highlighted. Does this 'higlightstate' work at all?
A: Javascript expanding menu 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 apyt_ext_setPressedItem(menuInd, itemID)
<script type="text/javascript">
var I = 4 //index of the selected item
onload=setPressed;
function setPressed()
{
dtreet_ext_setPressedItem(0,dtreet_ext_getItemIDByIndex(0, i));
}
</script>
Q: Is it possible to have the AJAX menu aligned vertical instead of horizontal? And is the number of levels limited? (I have a site that requires up to 4 levels...)
A: Yes, you can create vertical menu using AJAX feature.
There is no such limitation.
See the following parameter:
var dmAJAXCount=0;
That variable set the maximal number of submenus that will be loadedfrom server on your page.
Q: The problem that I am still experiencing (Im sure I have missed something obvious!) - is that all the pages open when you click on the relevant links but they always open with the "About Us" tab showing and then as soon as you click on a different tab you see it highlight for a second and then it just reverts back to the About Us tab even though the page has changed. As the site opens I obviously want the first tab to be highlighted as opposed to the 2nd one and the each page highlights and holds as you go through the menu.
A: See, you set
var bselectedItem=2;
That is why "About us" tab is selected.
You should change the selected tab depending on the page you are now.
This Tabs 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) or using any server-side script (php, asp, etc.)
Deluxe Tabs doesn't support API functions which can return theselected tab.
If your site is written on PHP you can set "bselectedItem" parameter based on your link beforeyou call tabs-kasper.js file.
For example, move "bselectedItem" parameter from tabs-kasper.js file to yourcode.
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=<?php echo $seltabs; ?>;
</script>
<SCRIPT src="tabs-kasper.js" type=text/javascript></SCRIPT>
</TD>
You should define seltabs using server side script.
You can also set on every page before you call tabs-kasper.js file(for example, for solution tab).
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=4;
</script>
<SCRIPT src="tabs-kasper.js" type=text/javascript></SCRIPT>
</TD>
Try that.