@marv9n
Hi Marvin!
As You did not rule out using JavaScript as a solution I've put together a very basic "button toggle" script - no timelines or symbols are used. multiple_menu_JHSv1.hype.zip (15.6 KB)
Overview:
Using JavaScript makes it easy to add new buttons that You want to behave like the other buttons. Simply duplicate an existing button and drag it into position. It is also easy to change the values (position, opacity, etc.) for all the buttons at once; and these settings are in one convenient spot.
You can have each button do unique operations - but that capability is not shown here; however see the lines:
// This is the place to add code to have the selected/previous button do something
in the function "btnToggle" (shown below) that indicate where this code could go.
Notes:
The buttons are placed in a group ("Btn Group") to give them a common reference point.
No classes or IDs have been assigned to these buttons - something that will probably be needed when You want a clicked button to do something in particular.
In the "Head HTML" we initialize a variable ("lastSelectBtn") giving it a value of "0". This value is used in the code that follows to check if any button has been clicked. If another button has been clicked the value of "lastSelectBtn" will not be zero ("!= 0").
The function "btnToggle"** is triggered when You click on one of the buttons. "element" in the code below is the button that was just clicked on to trigger the script.
function btnToggle(hypeDocument, element, event) {
if(lastSelectBtn != 0) {
// i.e. a button has been previously clicked
// move the previously selected button back to its "left" origin point of "0"; set opacity to 100% (i.e. "1.0")
hypeDocument.setElementProperty(lastSelectBtn, 'left', 0, 1.0, 'easeinout');
hypeDocument.setElementProperty(lastSelectBtn, 'opacity', 1.0, 1.0, 'easeinout');
// This is the place to add code to have the previous button do something
}
// move the selected button to its new "left" location of 237px; set opacity to 50% (i.e. ".5")
hypeDocument.setElementProperty(element, 'left', 237, 1.0, 'easeinout');
hypeDocument.setElementProperty(element, 'opacity', .5, 1.0, 'easeinout')
lastSelectBtn = element; //"lastSelectBtn" value is now the selected button
// This is the place to add code to have the selected button do something
}