Recent Questions
Q: As a part-time webdeveloper I have gotten very interested in your product. I really appreciate a number of things
- it's very flexible
- it's very easy to work with
- examples nicely show the capabilities
But I have a couple of questions:
- When opening a menu, there is an option for keeping the menu-item that has been pressed hightlighed (so that the user can see what he/she pressed). Is it possible, programmatically, to decide when this highlighting should be removed? The scenario is that, when a menu-item is clicked the used might browse for a couple of pages within the context defined by the menu-item, but when the user leaves, the menu-item should no longer be highlighted. I will (programmatically) decide the context, but is it possible for me to interact with the menu, and for example decide explicitly which menu should be highlighted?
- Our design department would like the menu containing the elements: "Skovdrift, Juletreer, Skovrejsning, etc". Please notice that "Brende" is supposed to show a menu item that is hightlighted. Is is possible to create this menu such that it is dynamic and each item is text-based (and not based on two pictures for each menu-entry: hightlighted and not)? I've been wondering how to solve this problem, but I cannot figure out a solution. The problem that I is stuck at, is how organise this speciel "frame" around each menu-element. Something that be partly accomplished using "arrowImageMain", but that does not bring me all the way. Please notice that the menu-items might not have any sub-menu.
A: I suppose that you're saying about
var pressedItem=-2;
Defines an item that will appear in the highlighted state
(-2 - normal mode, -1 - toggle mode is active, but highlighted item not defined, 0,1,2,3,... - # of pressed item including separators)
This parameter will not approach you.
You should set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page. That is why you should write your own code on PHP.
Q: I would like with pleasure, that if one clicks on "Seite1", one in the menu dynamique dhtml sees that one is on page 1 therefore color different or icon different.
A: You should set pressed menu dynamique dhtml item. On each page:
<script type="text/javascript">
onload=setPressed;
function setPressed()
{
dtreet_ext_setPressedItem(0,dtreet_ext_getItemIDByIndex (0, 3));
}
</script>
where 3 - is the index of Seite1 item.
Q: It seems that if I try and use the syntax ["| with some HTML such as <DIV class = 'myclass'> inside dropdown menu it IGNORES the HTML and just treats it like another link.
But if I don't start the line with ["| ..... Then I get a syntax error.
For example:
I am trying to place 4 links in a square shape in the top left of my screen. To do this I was going to create DIV's and set the TOP and LEFT to different values from within a loop (I left out the code that does the updating for myleft and mytop...)
var menuItems = [
<loop>
["|<div style='position: absolute; left: <cfoutput>#myleft#</cfoutput>px; top: <cfoutput>#mytop#</cfoutput>px>'","", "", "", "", "", "", "", "", "", "",],
["|#ParentMenuDesc#","index.cfm?Workflow=#Workflow#&role=#Privilege_id#&cacheid=#createuuid()#&Process_Type=#Process_Type#&PageMode=#Process_Logic#", "#menu_option_icon#", "", "", "_top", "", "", "", "", "",],
["|</div>","", "", "", "", "", "", "", "", "", "",],
<end loop>
];
What am I doing wrong here?.... Can you show me how to accomplish this task?
A: No, this syntax is incorrect. It won't work.
var menuItems = [
<loop>
["|<div style='position: absolute; left: <cfoutput>#myleft#</cfoutput>px; top: <cfoutput>#mytop#</cfoutput>px>'","", "", "", "", "", "", "", "", "", "",],
["|#ParentMenuDesc#","index.cfm?Workflow=#Workflow#&role=#Privilege_id#&cacheid=#createuuid()#&Process_Type=#Process_Type#&PageMode=#Process_Logic#", "#menu_option_icon#", "","", "_top", "", "", "", "", "",],
["|</div>","", "", "", "", "", "", "", "", "", "",],<end loop>
];
You should have <div> ... </div> tags in each dropdown menu item!
It is not correctly to write <div> ... </div> tags for wholesubmenu.
var menuItems = [
["|<div style='position: absolute; left:<cfoutput>#myleft#</cfoutput>px; top: <cfoutput>#mytop#</cfoutput>px>text</div>'","", "", "", "", "", "", "", "", "", "",],
["|#ParentMenuDesc#","index.cfm?Workflow=#Workflow#&role=#Privilege_id#&cacheid=#createuuid()#&Process_Type=#Process_Type#&PageMode=#Process_Logic#", "#menu_option_icon#", "","", "_top", "", "", "", "", "",],
["| ","", "", "", "", "", "", "", "", "", "",],
];
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>