I am trying to build some navigation into the master slide. The navigation includes a “pause” and “play” button. Since that is a togle button, I need to have two states for the button: one that shows the play icon and the other that shows the pause icon. I have built such an object inside a normal slide but I copy it to a master slide it looses its name and therefore the advanced action that I wrote to change the state cannot affect it. I also tried to build the object directly in the master slide but in that case, there is not an option for adding states. Am I doing something wrong? How can I find the name of an object that is inside ta master slide? Do you suggest a different way to go about for having a pause/play option inside the master slide? Thanks,
There are no custom object states on Master Slides; only the built-in states. If you want or need the Play/Pause button to reside on the MasterSlide, then you’d have to make it two separate buttons – one Play / one Pause – and show/hide them alternately.
However, since as you mentioned there’s no object labels to reference for MasterSlide objects, this can’t be done with Captivate’s standard show/hide commands. You’d have to figure out what’s the buttons’ HTML ID, and then show/hide them with Javascript:
cp.hide(“[Pause Button ID]”);
cp.show(“[Play Button ID]”);
and
cp.hide(“[Play Button ID]”);
cp.show(“[Pause Button ID]”);
Also, you might want to put the command to hide the Play Button on Slide Enter first slide, since you cannot define an object as hidden on a MasterSlide.
To find out the buttons’ HTML IDs, temporarily move the buttons so one does not cover up the other completely, preview the course, and then use the browser’s development tools to identify the HTML Elements. In Cjrome or Edge you can right-click a button and select ‘Inspect’. A separate window opens. Among the text that appears selected therein, you’ll find a string div id = “siXXXX” (XXXX representing some 4-digit number). This string – si + 4-digit number – is what you’ll have to enter in the code above; e.g. cp.hide(“si4537”);
I guess si stands for Slide Item.
@Gaanf I don’t know about the JS approach, but although this is also possible with advanced/shared actions, in a Fluid Boxes project it is not recommended to have two different interactive objects on the same location even though they are never visible at the same time. This means you cannot have the two buttons in the same location. Is my assumption correct?
Thank you.
But if I understood correctly, that “rest of the project option” does not exist for fluid boxes. And I am using fluid boxes. Thus, the only option I seem to have is to include the objects in each and every slide. That means using a lot of space and a lot of work if I ever want to change the “look” of that object.
You never mentioned this is a ‘fluid boxes’ project. I would have answered immediately that you cannot use timed for the rest of the project. You cannot use a toggle Play/pause button where a custom state replaces the Normal state when paused on the master slide. I’m sorry… Editing the style of the button is possible, but will not include any custom state.
It is impossible with advanced actions, if you need custom states as described in my interactive video:
http://www.lilybiri.com/published/PlayPause_Scal/index.html
You need to put the toggle button on the first slide, time it for the rest of the project, always on top.
Objects on master slides never have an ID nor a specific duration. For multistate objects only the InBuilt states will be active.