Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

how disable the next button on playbar on one specific slide

New Here ,
Mar 30, 2017 Mar 30, 2017

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,

TOPICS
Advanced actions , Audio and video
3.7K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 30, 2017 Mar 30, 2017

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:

 

  1. 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.
  2. 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).
  3. When the video finishes, Captivate will move to the next slide automatically.
  4. 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).
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 31, 2017 Mar 31, 2017

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 30, 2017 Mar 30, 2017

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

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 30, 2017 Mar 30, 2017

I didn't see where the original poster said they were publishing to HTML5 from Captivate 7.

If they are publishing to SWF?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 30, 2017 Mar 30, 2017

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!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 30, 2017 Mar 30, 2017

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Mar 31, 2017 Mar 31, 2017

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;

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 31, 2017 Mar 31, 2017

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:

 

 snip312

 

snip311

 

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!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 31, 2017 Mar 31, 2017

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:

 

 snip312

 

snip311

 

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!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
People's Champ ,
Mar 31, 2017 Mar 31, 2017
LATEST

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Help resources