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

Scrolling page

Explorer ,
Mar 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

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

TOPICS
Advanced , Editing

Views

1.2K

Translate

Translate

Report

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

correct answers 1 Correct answer

Advisor , Mar 12, 2021 Mar 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();
}
});

Votes

Translate

Translate
Community Expert ,
Mar 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

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 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

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 ?

 

 

Votes

Translate

Translate

Report

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 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

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.  

Votes

Translate

Translate

Report

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
Advisor ,
Mar 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

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();
}
});

Votes

Translate

Translate

Report

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 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

That't great, thank you man!

With some advanced actions I will be able to finaize my project.

 

Cheers,

Votes

Translate

Translate

Report

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 Beginner ,
May 13, 2021 May 13, 2021

Copy link to clipboard

Copied

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?

Votes

Translate

Translate

Report

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
Advisor ,
May 14, 2021 May 14, 2021

Copy link to clipboard

Copied

If you are using the scroll wheel to cycle through object states.

Make yourself a variable in Captivate - in my example   num  you could set it equal to 1.

Then you can run a check based on the number of states that you have.

I this example - assume six states for an object called  myShape

Basically as you scroll - you increase or decrease the variable and keep going until you hit 1 or 6

 

$(window).on("wheel",function(event) {
if (event.originalEvent.deltaY<0) {

if (num!=0) {
cp.goToPreviousState("myShape");
--num;
}

}
else {

if (num!=5) {
cp.goToNextState("myShape");
++num;
}

}
});

 

Votes

Translate

Translate

Report

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 Beginner ,
May 14, 2021 May 14, 2021

Copy link to clipboard

Copied

Brilliant! That works wonderfully! Additionally, I can think of so many more uses for this function other than mimicking the scroll wheel on a mouse. Thank you very much!

Votes

Translate

Translate

Report

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
New Here ,
Aug 03, 2021 Aug 03, 2021

Copy link to clipboard

Copied

So lately, I tried to get creative and tweak your solution to scroll through a set number of slides. So instead of cycling through object states, it advances to the next or previous slide. This worked until I scrolled to the "bottom" and then back to the "top" slide. Then, for whatever reason, num started incrementing and decrementing by 2 instead of 1 when scrolling back down. How does the scroll wheel event listener know whether the user is scrolling up or down and thereby trigger the increment or decrement num? Here's the code I used for reference. Instead of num, reviewslidesnum is used:

$(window).on("wheel",function(event) {
if (event.originalEvent.deltaY<0) {


if (reviewscreensnum!=1) {
cp.goToPreviousSlide();
--reviewscreensnum;
}


}
else {

if (reviewscreensnum!=5) {
cp.goToNextSlide();
++reviewscreensnum;
}

}
});

 

Votes

Translate

Translate

Report

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
Advisor ,
Aug 03, 2021 Aug 03, 2021

Copy link to clipboard

Copied

The main difference is that in the example you used, we were looking at tracking the first and last object state so that the images did not cycle around but instead would stop and force the user to scroll the other way. This was also taking place on a single slide

 

The slides in your project do not cycle around so there is no need to use the variable. Just go to the next and previous slides. Check out the code I left earlier in this thread for the cycle through slides. That should take care of you.

 

Since the code was placed  onEnter for the first slide, when you went back to the slide, the code was executed again so you had two instances running on top of each other which made the ++variable and --variable double up on themselves.

Votes

Translate

Translate

Report

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
New Here ,
Aug 03, 2021 Aug 03, 2021

Copy link to clipboard

Copied

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?

Votes

Translate

Translate

Report

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
Advisor ,
Aug 03, 2021 Aug 03, 2021

Copy link to clipboard

Copied

LATEST

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.

Votes

Translate

Translate

Report

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