Welcome to the in5 Answer Exchange! This a place to get answers about in5 (InDesign to HTML5) and make requests.
0 votes

'Hidden Until Triggered' on the MSO flyout menu not working

I want to have the MSO move left and fade in on a button trigger, i have 'Hidden Until Triggered' selected on the MSO and on the animation, but the MSO is still visible on page load once exported from IN5, bizzarely it works fine in Epub preview and Publish Online, any guidance much appreciated.

MF

in how_to by (160 points)
  

1 Answer

0 votes

You could try adding an "empty" state (go to the Object States panel menu and select Add "Empty" State) that actually contains a small invisible rectangle (one with no stroke and no fill). Then add a Go To State action to the button before the Play action that triggers the animation so that it will to go to the state that you want to appear with the Move left/fade in animation.

If you're still having trouble with the MSO hiding before the animation, would you be able to send us both of the following:

  • Your InDesign file (or a sample file that recreates the issue)
  • Your html5_output folder
You can send these files to us at:
by (29.9k points)
Thanks Myra, have sent over my files to the link you supplied, would like to avoid adding an empty state if possible, thanks again for any guidance

I've downloaded your files. I'm having our developer take a look.

I replied to your email, but for anyone else with the same issue, here's the interim workaround:

Make it hidden by changing the Properties for the animated MSO where Animate is currently set to To Current Location. Change it to From Current Location and set it to start off screen, then it doesn't appear.

To start it in that same location, use the Show Animation Proxy button (the middle button at the bottom of the Animation panel) to make a guide where it starts off screen, and then move the MSO to that guide.

Thanks Myra, let me know if there's a workaround for just having the MSO 'fade in' or 'appear' instead

S.

The workaround that I would recommend for having the MSO appear would be to add an empty state:

  1. Select the MSO
  2. Remove the current animation
  3. From the Object States panel menu (the hamburger menu in the upper right), select Add "Empty" State
  4. On the button that gets clicked to make the MSO appear, instead of using an Animation action with Options set to Play, use a Go To State action with the State set to your State 1.
Alternatively, you could apply a Fade in animation preset by doing the following:
  1. Select the MSO
  2. Remove the current animation
  3. From the Object States panel menu, select Add "Empty" State
  4. In the Object States panel, select State 1
  5. Double-click on the MSO to access the image on that state
  6. In the Animation panel, add the Fade In preset with 
    • Animate set to From Current Appearance
    • Visibility set to Hide Until Animated
  7. On the button that gets clicked to make the MSO appear, add an Animation action with Animation set to the image from that MSO and State 1 with Options set to Play
  8. Go back to the Animation panel to remove On State Load from the event so that the only event is On Release 
Hi Justin/Myra and team, HNY
I'm afraid i'm still having major problems with hiding an MSO till triggered, the workarounds mentioned above do not work at all with my current project, as I need the MSO to be triggered on 'Page Load' rather than a button taking it to a specified State, so putting in an empty state does not help me, even with a 'fade in' animation applied and 'Hidden till triggered' selected as well as 'Hide until Animated' the MSO still appears at the start and will not hide no matter what i do, have also sent you a link to the files, any more guidance here would be massively appreciated.
Thanks again
MF

I replied via email, so I wanted to also post here in case anyone else with the same question could see the solution.

In this case, the MSO is on the 2nd page. By default, MSOs reset when the next page loads. To keep the MSO hidden while page 2 loads, you can add the following JavaScript to the Resources section of the Export HTML5 with in5 dialog:

resetMSOs = false;
This is a perfect solution, thankyou Myra, massively appreciated
That's great! I'm so glad I could help. :)