how disable the next button on playbar on one specific slide
Copy link to clipboard
Copied
Hi,
i am creating a project using captivate 7 and i used play bar in the project for easy navigation
While there is a slide i would like to put a video and i really want the learners to complete the video before they click the NEXT button on playbar.
I was thinking to replace the navigation bar with customized buttons while i just need the DISABLE function on one slide.
Any clue is appreciated.
Thank you,
Copy link to clipboard
Copied
I don't believe there is any way from within Captivate to show and hide individual buttons on the navigation bar. If you don't mind, you can hide the navigation bar entirely while the video is playing and then turn it back on when the video has finished playing. I don't remember whether the system variable cpCmndShowPlaybar was in CP7 or not. If it is, the easiest way to do this is to:
- Load your video on one slide as a Multi-Slide Synchronized Video. Ensure that the slide timeline does not extend beyond the video and that the video is the only object on the slide.
- In the slide properties for the slide above, set the On Enter action to: Assign, then drop down the list and choose cpCmndShowPlaybar and in the With field type 0 (zero).
- When the video finishes, Captivate will move to the next slide automatically.
- On the next slide, set the On Enter action to: Assign, then drop down the list and choose cpCmndShowPlaybar and in the With field type 1 (one).
Copy link to clipboard
Copied
You don't need the system variable anymore. The dropdown list in the simple Actions, and in Advanced actions has both Show Playbar and Hide Playbar commands. I don't have any issues with using system variables, but since two versions those more easy commands (for newbies) are available. Same for the TOC commands that needed using system variables before version 8.
Copy link to clipboard
Copied
So, as usual, things that look impossible using the published captivate documentation are possible with a bit of splunking in the captivate output. In this case, here are a few useful nav bar show/hide combinations
The general form to hide the button is:
$("#" + "buttonID").css("visibility","hidden")
to show the button is:
$("#" + "buttonID").css("visibility","visible")
Button IDs:
Forward - next slide button
Backward - last slide button
FastForward - Fast Forward button
AudioOn - Audio Button
Exit - Exit button
Play - play button
Rewind - rewind button
paybarSlider - playbar
an example is:
$("#" + "Rewind").css("visibility","hidden"); // hide the rewind button
To use these, just add an advanced actions that call these one-liner javascript functions, and Boom, your're done. Note this is Captivate 9...
sdwarwick (at) healthdecisions (dot) us
Copy link to clipboard
Copied
I didn't see where the original poster said they were publishing to HTML5 from Captivate 7.
If they are publishing to SWF?
Copy link to clipboard
Copied
Right, I saw it was V7, so my solution will work regardless of whether it's HTML5 or Flash output. That being said, Flash is almost gone from the scene, and I'm happy that we can make changes to the published files!
Copy link to clipboard
Copied
Joe,
I was actually addressing the question to sdwarwick.
Your solution would work with either HTML5 or SWF because it's just using normal Advanced Actions.
But I just wanted to clarify that the other solution wasn't for SWF output.
Copy link to clipboard
Copied
This actually won't work because the buttons don't have id's, they have titles corresponding to the list in your post. You can hide them:
var fwd = document.querySelectorAll('[title=Forward]')[0];
$(fwd).css("visibility","hidden");
With this script you can fade, disable and change the cursor.
var fwd = document.querySelectorAll('[title=Forward]')[0];
fwdCanvas = fwd.getContext( '2d' );
fwd.style.opacity = .3;
fwd.style.cursor = 'default';
fwdCanvas.canvas.disabled = true;
Copy link to clipboard
Copied
Not sure how we are getting different results. I tested this technique directly in captivate 9.
Here are images from the chrome debugger and the resulting display:
as you can see, Forward is recognized as an ID for the button container, and using the css visibility selector, it can be hidden. This is the same technique that the cp.hide function uses to hide slide shapes.
You cannot use cp.hide/cp.show as the playbar buttons don't show up in the shape database directly.
wcai is getting an amazing amount of high power support on this question!
Copy link to clipboard
Copied
Not sure how we are getting different results. I tested this technique directly in captivate 9.
Here are images from the chrome debugger and the resulting display:
as you can see, Forward is recognized as an ID for the button container, and using the css visibility selector, it can be hidden. This is the same technique that the cp.hide function uses to hide slide shapes.
You cannot use cp.hide/cp.show as the playbar buttons don't show up in the shape database directly.
wcai is getting an amazing amount of high power support on this question!
Copy link to clipboard
Copied
Odd, the selector isn't returning anything for me.
I used to get the children of the div and manipulate them that way, but the querySelector targets precisely.
Now I'm going to have to try and figure this out.

