
Copy link to clipboard
Copied
Hi, I am trying to create a click reveal button, but on the subsequent click on the same button, it hides what was previously revealed. Is this possible?
Thanks!
1 Correct answer
I have several blog posts explaining the work flow. Have a look at this last one (for CP9):
1 action = 5 Toggle Buttons - Captivate blog
Shared actions have the advantage that you can switch between groups and objects as parameters. In your case: if you have several interactive objects on the same slide, to which you want to assign this toggle behavior, you'll have to hide everything that has to show up, then show the appropriate item. By grouping all objects this can be done very easily with a tw
...Copy link to clipboard
Copied
Yes. You will need to use the button to execute a Conditional Action that uses a tracking variable, the Toggle action, and then Show / Hide actions accordingly.
Basically, your tracking variable gets toggled between 0 and 1 by the toggle action, and the Conditional Action looks at these values to determine whether or not to show or hide the relevant objects.
Copy link to clipboard
Copied
I have several blog posts explaining the work flow. Have a look at this last one (for CP9):
1 action = 5 Toggle Buttons - Captivate blog
Shared actions have the advantage that you can switch between groups and objects as parameters. In your case: if you have several interactive objects on the same slide, to which you want to assign this toggle behavior, you'll have to hide everything that has to show up, then show the appropriate item. By grouping all objects this can be done very easily with a two-command shared action:
Hide Group
Show item
Copy link to clipboard
Copied
The advice posted in response to this query is valid and very useful.
It is a shame that we have to use a user defined variable to do this. I think a better alternative would be to use the "visible" property of the object that you want to hide or show. Unfortunately, Captivate isn't designed to let us refer to object properties or to manipulate them. Bringing this up because I think that is a direction that the Captivate engineers should consider.
Copy link to clipboard
Copied
I'm sure that you can do this with JS as well. If you once define that user variable v_visib and use a shared action that you can use in any project, you'll never have to define that variable another time. Whenever you drag the shared action from this library to the library of another project, the variable is automatically created. Takes less than 30secs. I think it would even be longer if you had to to do that with all the clicks and mouse movements in Captivate to change the visibility property.
If you want to use Captivate for more than just very basic courses, you will need to use variables and actions. The alternative is using a real programming language like JS.
Copy link to clipboard
Copied
I'm afraid I don't see what you see as negative about the way this works.
You ARE in fact toggling the visibility of the object. The user variable is only necessary because you said you wanted to toggle the results via clicking the same object.
If you were just trying to have the change achieved by one object and then negated by another you would not need the user variable.
And by having the Toggle action available then the entire process is quite simple.
But if you feel you wish to submit an enhancement request to Adobe, they have a form on their website for that.
Copy link to clipboard
Copied
I don't feel that your advice is negative at all. I just think it would be easier if we could say something like: Visible of object X = NOT Visible of object X. This way we don't have to create and manage a variable.
This is related to the "closed" nature of the objects we work with on the Captivate slides. By that I mean, that we can't reference or change those properties with Advanced Actions and I am finding that very restrictive.
My goal is to produce everything for HTML5 delivery to avoid restrictions imposed by the need to use the Flash player. So I am very excited to hear that the next release of Flash will change its name and add pure HTML5 output. I am just hoping it will allow us to leverage Captivate abilities to produce even better materials.
I will find that enhancement request and submit a request. Not expecting any sudden change in direction, but I think it would be a positive change if we could interact more with the tool. Thanks 🙂

