Recent Questions
Q: Is there a way to make the dhtml pull down menu not reset after a link is clicked.
Now every time I click a link in the tree menu it takes me to the linked page
but all the menus re-expand.
A: When user clicks the link, the browser loads a new page and the script re-create the menu.
If you want to open the needed section automatically on load you can use the following:
1. Save the state to cookies
var tsaveState=0;
2. Use frames
3. Put the special script on each page of site that will open appropriate section:
(dtreet_ext_expandItem)
See more info here:
http://www.deluxe-tree.com/functions-info.htmlQ: I'm still having the issue with the sub-menus not being in the proper place, however I was able to fix the issue with menu now showing up in IE at all, it turns out I forgot a tag. So do you know why the sub-menu alignment changes depending on the browser window size? Either of the links below should give an example.
A: See, 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 style="position:absolute;"
to the
<DIV id=navholder>
So, you'll have:
<DIV id=navholder style="position:absolute;">
Q: Shouldn’t the dhtml expand menu know what page you are on and expand accordingly?
Or would you need to ‘hard code’ each page to be expanded basedon that page?
A: You should set the following parameter
var ttoggleMode=1;
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)
Please, see here:
http://deluxe-tree.com/functions-info.html
You can also set
var tsaveState = 1;
More info you can find
http://deluxe-tree.com/data-samples/tree-menuxp-save-state.htm
To expand specific items you should use API function
function dtreet_ext_expandItem (itemID, expand)
Try that.
Q: Sorry to bother you again, but we've done everything suggested in your fix regarding flash obscuring the multiple drop down menu, but we're still having the same problem in Firefox.
We've - set the parameter in the data file to - var dmObjectsCheck=1;
We've added the following to the start of the data file -
function dm_ext_ruleObjectHide()
{
return false;
}
We've embeded the flash as suggested to -
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
height="150" width="732" name="if-header">
<param name="movie" value="images/flash/if-header.swf">
<param name="quality" value="best">
<param name="play" value="true">
<param name="wmode" value="opaque">
<embed height="150" name="if-header"
pluginspage="http://www.macromedia.com/go/getflashplayer"
src="images/flash/if-header.swf"
type="application/x-shockwave-flash" width="732" quality="best"
wmode="opaque" play="true">
</object>
But still our multiple drop down menu sits behind the flash. Are we missing something else?
A: See it is necessary to have opaque parameters in <object> and <embed>tags to display submenus correctly in Firefox.
So, you should open .js file for your flash and find "embed" and"object" words.
And add opaque parameters, for example:
swfNode = '<embed type="application/x-shockwave-flash" wmode="opaque" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
var params = this.getParams();
for( var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
var pairs = this.getVariablePairs().join("&");
if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
swfNode += '/>';
} else { // PC IE
if (this.getAttribute("doExpressInstall")) {
this.addVariable("MMplayerType", "ActiveX");
this.setAttribute('swf', this.xiSWFPath);
}
swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') + '">';
swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" /> <param name="wmode" value="opaque"> ';
var params = this.getParams();
for( var key in params) {
swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
}