Recent Questions
Q: You've been helping me with some issues on the Deluxe Tree Menu system my company has purchased and most issues are resolved, so thank you! One big problem remains though and we can't seem to figure it out, so I hope you can help.
What we want is, when a user enters our site from the index (home) page then clicks on a link and the sub-page opens, for the dhtml menu tree to be open to the section the user is in and viewing. We also DO NOT want the browser to save the state of the menu, since that is inconsistent with where the user is in the site. Note: we do not use the Menu on the home page, is this a problem?
Per your tech support email, I've added the expand code, which works going from the home page to sub-pages. However, it interferes with navigating to other sub-pages once your in the site. The menu doesn't keep the section open, it closes back up. You mentioned the expand code has to be entered on every page....is that so in this instance and if so, that's a maintenance nightmare - does a better way exist for this type of menu?
Then we activated the "save state" option and the menu stays open on the sub-pages, but the expand option doesn't work.
It's like they cancel each other out and you can only have one or the other.
Can I get these two to work together? What do I need to do? Is it better to use the XP-style menu?
A: When user clicks the link, the browser loads a new page and the script re-create the dhtml menu tree.
If you want to open the needed section automatically on load you can use the following:
1. Save the state to cookies
2. Use frames
3. Put the special script on each page of site that will open appropriate section.
(dtreet_ext_expandItem)
Q: Is there anyway of selecting index location of the dhtml tab according to what webpage you are on ?
A: Deluxe Tabs doesn't support API functions which can return theselected tab aslo.
You can set "bselectedItem" and " var bselectedSmItem" parametersbased on your link before you call your data file.
For example, move " var bselectedItem" and " var bselectedSmItem" parametersfrom your data file to your code.
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=<?php echo $seltabs; ?>;
var bselectedSmItem=<?php echo $selsmtabs; ?&g5t;;
</script>
<SCRIPT src="data.js" type=text/javascript></SCRIPT>
</TD>
You should define seltabs and selsmtabs using server side script.
You can also set it on every page before you call data.js file, forexample:
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=4;
var bselectedSmItem=3;
</script>
<SCRIPT src="data.js" type=text/javascript>
</TD>
Q: Is there a way to capture user click event just like the one in the javascript menu sliding?
A: Unfortunately, you can't assign onmouseover/onClick/onContextMenu event to each item.
However, you can achieve this by using standard html objects within items, for example:
var menuitems = [
["<div onContextMenu='your_code_here'>item text</div>", ""]
];
Q: I never succeed to see the images in the dhtml menu examples using my default folder hierarchy (ie : a folder for the html files and a folder for the js files). The only way for me was to create the data.files folder in the html folder. It works but it does not follow my production standard. Did I forget something ?
A: You should set relative paths according to your html page.
For example, you have such file structure:
web-content/
data/
dmenu.js
data.js
Artwork/
image.gif
...
pages/
1.html // page with the dhtml menu examples
2.html // page with the dhtml menu examples
...
So in Deluxe Tuner you should open image.gif file.
You will have, for example:
d:\webpages\site\web-content\Artwork\image.gif
Then you should delete "d:\webpages\site1\web-content\" and add ../prefix. The path will be:
../Artwork/image.gif
You can also set path_prefix
var pathPrefix_img = "../Artwork/";
Or you can try to use absolute paths, for example:
var pathPrefix_img = "http://domain.com/images/";