Skip to main content
Karim MK
Known Participant
March 12, 2021
Answered

Scrolling page

  • March 12, 2021
  • 2 replies
  • 2075 views

Dear all,

I'm trying to create a project with several steps like a mission. And the learner as to follow step by step and, and pedagogically all the element should stay in the same page.

I know that with Articultate it is possible to create a project with the possibiliy to scroll the page, is there a what to do that with Captivate ?

 

Thank you,

Karim

This topic has been closed for replies.
Correct answer Stagprime2687219

While not exactly the same - you could place a little JavaScript as an onEnter action to your first slide to allow you to use the scroll wheel to advance and go backwards through your slide deck.

 

$(window).on("wheel",function(event) {
if (event.originalEvent.deltaY<0) {
cp.goToPreviousSlide();
}
else {
cp.goToNextSlide();
}
});

2 replies

Stagprime2687219
Stagprime2687219Correct answer
Legend
March 12, 2021

While not exactly the same - you could place a little JavaScript as an onEnter action to your first slide to allow you to use the scroll wheel to advance and go backwards through your slide deck.

 

$(window).on("wheel",function(event) {
if (event.originalEvent.deltaY<0) {
cp.goToPreviousSlide();
}
else {
cp.goToNextSlide();
}
});
curious_Coconut5EEC
Participating Frequently
May 14, 2021

This is almost exactly what I'm looking for!!! Your code worked great. Just as you described. One more question remains: how do I get the scrolling to stop on the last object state when user scrolls down and stop on the first object state when user scrolls up?

Stagprime2687219
Legend
August 4, 2021

That makes complete sense. Thank you. So the last piece of my puzzle is this: If I want scrolling to happen on some, but not all of my slides, how do I delimit the scrolling effect? You're correct that if I want the scroll wheel to apply to all slides in my project, then I just plug your original code in the OnEnter action of the first slide, but suppose I want to turn on scrolling for specific groups of slides, is there a way to do that?


Yes,

In the provided code we turn  ON  an event listener for the scroll wheel.

You simply need to turn it off on the desired slide.

 

$(window).off("wheel");

 

But that means you will need to turn it back on  somewhere else. When you turn it on again you need to use all the same code for setting it. For example, if the course is strictly linear, you may simply need to make some ranges where you activate within range and deactivate when our of range.

Below - you would have a scenario where you could scroll to slide 5 but then it would stop working. If you manually navigate to slide 8, you could scroll to the end of the project.

If you scroll back to 7 it would shut off again.

 

Slide1 - ON

Slide4 - ON

Slide5 - OFF

Slide7 - OFF

Slide8 - ON

 

Hopefully that makes sense. If you had a lot of this to do - I would make the code for turning the listener on into a function so you can simply call the function on the appropriate slides and reduce the amount of code.

RodWard
Community Expert
Community Expert
March 12, 2021

If you are referring to the way Articulate Rise scrolls down the page with each section acting as a separate block, then the answer is no.  Captivate does not work like this.

Karim MK
Karim MKAuthor
Known Participant
March 12, 2021

Thank you for your answer!

This is pity! It woul give more possibilities for the authoritors...

You think this is soemthing that it could be developed in the futur? or it is not compatible with the Captivate conception ?

 

 

Lilybiri
Legend
March 12, 2021

Just out of curiosity: why is scrolling in your view so essential for eLearning courses? I don't like scrolling, but apparently you do.  I am sure you can find a lot of possibilities in Captivate which do not exist in Rise. As long as the tool can be used to reach the goal: efficient, engaging learning assets, I don't think specific features are the most important. If you like that scrolling, please use Rise.