How to enable clicking in menu only for visited slides

Hi all,

I need help in menu. For one project I have created a menu. I am not using the built-in menu of Articulate. In the menu slide I have created a button with 4 stages for each slide/page viz. Normal, Active, Visited and Disabled. I have kept initial state in disable state so the user won't be able to click the same from the beginning. The state is changing to Active when that particular slide is running and also to state 'Visited' once the slide is over as per requirement. At the same time the user is able to click on Active state and it becomes Visited. I do not wish the state to change from 'Active' to 'Visited' on user click. 

I hope I have stated my requirement in correct words. Can anyone guide me.

15 Replies
Ademola Johnson

Hello Shalaka,

try this solution

1. Create your buttons iand set their initial state to disabled

2. Create boolean variables (true/false) for each of the stages - so you can easily remember you can name the variables stage1, stage2, ...  and set them to false.

3. Create a trigger on the stages first slide for each of the buttons and variables

Change value of variable stage1 to true when timeline starts

Change state of button 1 to normal when stage1 (variable) is true

4. Set the slide to resume from saved state and don't set the slide to proceed automatically to the next slide.

Please let me know if it works

shalaka mandlekar

Hi Ademola,

Thanks for quick reply. I followed your instructions but it did not work. I have already set the buttons to disable state. The states of the button are changing with respect to the variable set for the slide. I have set 2 variables for each slide which are false initially. One variable becomes true when timeline starts. The state of the button changes to 'Active' at this point. Another variable becomes true when slide/ timeline is complete. The state of the button changes to 'Visited' at this point. So I think there is no need to set separate variables for active and visited state. Correct me if I am doing wrong.

I am wondering why the button is clickable though I have not set any trigger on click. I have set a click trigger only if the slide is already visited.

I have found one template of custom menu in which the functionality is working the way I want. So I am going to use that template. I am trying to figure out how it is done. 

Thanks a lot for solution.



Leslie McKerchie

Thanks for sharing your file Shalaka! I am not clear on what you are looking for and what the issue is. What are you trying to keep the users from clicking on? If you could walk me through what the intended flow should be, that would help as I check on this. What is the template that you like that functions as you intend? That may help as well for the comparison.

shalaka mandlekar

HI Leslie,

As you must have seen, there is link for each slide in the menu viz. Slide 1, Slide2 etc. Initial state of all the links is Disabled. The states of the links in the menu is changing from 'Disabled' to 'Active' when the timeline starts for the respective slide and to 'Visited' (with checkmark) when timeline ends. The states are changing correctly based on the triggers as per the requirement.

At the same time when user clicks the link in 'Active' state, it changes to Visited. I do not want the state of the links to be changed from 'Active' to 'Visited' on user click.

I hope I have addressed my requirement correctly now.

Thanks and regards,



shalaka mandlekar

I need one more help.

I want to apply drag and drop functionality to audio script window so that the user can place it anywhere on the screen. I managed to drag and drop it using in-built functionality but the object snaps to center of the drop target. I also wish do limit the drag area. Currently when I drag the object it gets out of screen and after dropping snaps to center of the drop target.

How shall I do it? Do I need to add Javascript?

shalaka mandlekar

Hi Ashley,

I guess these options are available when you convert any slide to Freeform. I have not converted slides to Freeform. Those slides are not activity slides but course content pages. I still tried to apply drag functionality by changing the state of an object. I really have no idea what I have done is right or wrong. Please see the grab:

For your information I am not using the Storyline Player except for Seekbar. All the user interface elemets are customized which includes notes or audio script window as well. My notes/ audio script window is covering some part of the content. So I thought I will apply drag and drop functionality which will enable the user to move it anywhere on the screen.

Please advice.

Thanks and regards,


Ashley Terwilliger-Pollard

Hi Shalaka,

If you're not using the built in drag and drop question type (which you may want to look at and just not include a score or feedback) you'll won't be able to use the "snap" functionality. With Storyline there are a number of ways to do things - so it's really no right/wrong, but what is easiest for you and how you'd want to have it play out. 

If you're looking for additional assistance, you may also want to post a copy of your .story file so that folks in the community could take a look. 

Ashley Terwilliger-Pollard

Hi Shalaka,

I"m not equipped to assist with Javascript elements as it's not something we can offer support for, so I'll defer to the community for additional assistance. I always feel like most things are possible with Javascript, but no idea how accurate that really is. :-) You can begin by looking at the Javascript best practices here.