Forum Discussion

PAARITeam's avatar
PAARITeam
Community Member
2 months ago

Pause, Seekbar, and Next Button Issues with Multi-Layer Slides

Hi everyone,

I’m running into a few interrelated issues on slides with multiple layers in Storyline 360 and could use some guidance:

  1. Pause behavior: On slides with multiple layers, when I click the built-in player Pause button, only the base layer pauses. Other layers continue playing. I’ve tried enabling “Pause base layer” on the layers, but that breaks the seekbar.
  2. Seekbar resets: On slides where layers are triggered after the base layer starts, the seekbar resets to 0 when a new layer appears, even though I’ve set the base layer timeline to cover the full slide length. I’ve tried multiple approaches, but none of my multi-layer slides maintain a truly continuous seekbar.
  3. Next button not enabled: On slides where the Pause behavior and seekbar reset occur, once the slide visually completes, the Next button doesn’t become clickable. It seems like Storyline doesn’t recognize the slide as complete.

I want to achieve the following:

  • A continuous seekbar that represents the entire slide timeline regardless of how many layers appear
  • The ability for learners to pause all content (base + layers)
  • Reliable slide completion so the Next button works as expected

Has anyone successfully implemented multi-layer slides that maintain a continuous seekbar while also allowing pause for all layers? Are there recommended workarounds, best practices, or triggers/variable setups that address these issues?

Thanks in advance for any advice!

2 Replies

  • You cannot have a continuous seekbar on a slider with multiple layers unless you have continuous audio on the baser layer and set the layers to not seeable, but that will affect pulling the seeker back or the pause button will only work on the base layer.

  • TedNunes's avatar
    TedNunes
    Community Member

    Hi. I don't have a solution for the seekbar (yet) but I had a similar problem where I needed layers to pause/resume if the built-in pause/play button was clicked. You would think there would be a system "paused" variable--that would make it so easy--but there doesn't seem to be one (exposed to use anyway). 

    What I came up with is a JavaScript trigger that detects when the slide is paused based on some player attributes I noticed exploring the web dev panel. When it sees the button change it sets a Storyline variable I named pauseLayer. Then a second trigger executes when pauseLayer changes and will pause a layer's timeline when it's true or resume it when it's false. It works in the Modern and Classic player styles (for now--I'll keep an eye on things as they keep pushing updates; hopefully they won't change what that attribute is called in future versions.)

    I'm attaching an example file. What I was doing was "animating" a character using state changes, but I put the triggers in their own layer, which makes it easy to copy this characters throughout my project. The triggers are on on the animation triggers layer. 

    The JavaScript for detecting pause/play clicks is this:
     

    /*

    This code detects if the Player pause button is pressed.

    A second trigger will pause/unpause the animation trigger layer.

    */

    let pauseLayer = getVar("pauseLayer");

    const playButt = document.getElementById('play-pause');

    function pauseOrPlay() {

    const pawsed=playButt.getAttribute('aria-pressed');

    if (pawsed=='false') {

    setVar("pauseLayer",false);

    } else {

    setVar("pauseLayer",true);

    }

    }

    playButt.onclick=function(){

    pauseOrPlay();

    }


    I hope you find this useful. The seekbar behavior would be great but that's a challenge for another day.