javascript
52 TopicsCybersecurity Meets Creativity
For this submission I took a different approach. Instead of building a traditional demo or scenario-based quiz, I focused on the first few seconds of the learning experience, because in cybersecurity every second counts. Setting the Scene with Sound and Motion To immediately capture the learner’s attention, I created a high-energy introductory slide using kinetic typography and a stomp-style soundtrack. The idea was to create an immersive, rhythmic start that echoes the urgency and tension of the cybersecurity landscape. This isn’t just a flashy animation, it’s a carefully timed message. With bold movement and percussive beats, the slide communicates the importance of staying alert and protecting personal information in a digital world filled with threats. Powered by Articulate’s New JavaScript API To bring this to life, I used Articulate’s latest JavaScript API. This gave me more control over the timing and sequencing of the animated text, allowing it to sync precisely with the beats of the music. Each key term, like defend, detect and protect, gets visual emphasis to reinforce key cybersecurity concepts and actions. Why This Approach? Cybersecurity training can sometimes feel dry or overly technical. My goal was to disrupt that expectation with something bold and modern. By combining motion graphics with a high-intensity audio track, I aimed to spark curiosity and set a tone of urgency that pulls learners into the content. Absolutely — here’s the revised **Final Thoughts** section with your point expanded. It emphasizes the contrast with traditional e-learning intros and reinforces the value of your creative approach: Final Thoughts This submission is just a single-slide experience, but it’s designed to make an impact right from the beginning. In many e-learning courses, the first slide is often a static title screen, maybe a logo, a headline, and a stock image. While that’s functional, it often misses a valuable opportunity to emotionally engage the learner and signal the importance of the topic. With this project, I wanted to challenge that norm. By opening with kinetic text, rhythmic motion and intense stomp music, I created a visceral first impression that communicates urgency and relevance, especially important when the subject is something as critical (and often underestimated) as cybersecurity. This kind of introduction does more than just look cool. It tells the learner: Pay attention, this matters. And in a world where digital threats are constantly evolving, capturing attention from the very first moment is a key part of building awareness. Because in cybersecurity, awareness begins with attention and great learning starts with engagement. Want to Try It Yourself? You can preview the interaction here to see it in action. If you'd like to explore how it was built, I’ve also made the full project available as a free download. Feel free to dive in, tweak it, and make it your own! About me: Paul Alders LinkedIn Profile The eLearning BrewerySlider
In this example, I used various effects to dynamically modify an image using a slider. In addition to a classic before-and-after slider, there are variations with a crossfade, a blur effect, and a circular reveal from the center. All effects are responsive and adapt smoothly to different screen sizes. Images can easily be replaced using the "Replace Image" function. For effects that use two overlapping images, it’s important to ensure that both images are exactly the same size. ReviewButton Listener to move a character
Hello everyone I've dealing with a problem, I started a project, it is supposed to be an Escape Room, and most of the things I need for it are already available on Storyline. But I've been stuck on the movement of the character, it is a simple 2D movement, right and left, inside the room. The problem is: I already got it to move on a click, but it is just on that click, I want it to move as long as I keep the button pressed. This is the last JavaScript I tried to make it move: const button = object('5yfHufFxicy'); function moveWhilePressed() { button[i].addEventListener("mousedown",() =>{ const player = GetPlayer(); player.GetVar("MousePressed"); const currentX = player.GetVar("MoveX"); player.SetVar("MoveX", currentX +1); setTimeout(moveWhilePressed, 100); const objects = [ object('6EPGwyDzEfX'), ]; const positions = objects.map(obj => ({ x: obj.x})); objects.forEach((obj, i) => { obj.x = positions[i].x+currentX; }); }); } moveWhilePressed(); Not sure if I'm wrong on the EventListener, before I added it, the character moved, but the moment I clicked, it kept moving without the button pressed. I tried using Variables, but the result was the same, the character kept moving.Solved63Views1like3CommentsSetting the state of an object to "Disabled" or "Hidden"
Has anyone bumped into an issue of not being able to use JavaScript to change the state of an object to the built-in "Disabled" or "Hidden" state? I'm able to set to "Normal" and any custom states, but for some reason, those two just do not work and pop an error in the console saying these are not valid states. See screenshot for an example:32Views1like2CommentsJavaScript for Keystrokes
I ventured boldly into JavaScript after DavidAnderson challenged us in this week's webinar. I did it, but only with the help of a couple of eLearning Heroes, and some AI assistance with the coding. Here's the published file The Problem I'm developing technical training for a mainframe system and wanted the users to practice actually using the keystrokes to practice the tasks they need to be able to use. In this system, TAB is required to move from field to field, but in Storyline, TAB activates the accessibility features, which I had to override. The Solution I used JavaScript to get around that at the slide level. Thanks to NickBaca-9980a0 who helped figure that out in this discussion. I also wanted the learners to be able to leverage a hint as they were learning, which required layers to be activated by clicking a question button. I never got the hint button to work right to trigger the layers using states, so I created multiple buttons that show and hide, one for each layer. Heroes Discussion In the final review section of the course, I reused the same activity. I didn't want the learners to have the hint option, but I wanted it to show what the correct answer was if they clicked the wrong key. The challenge here was creating a trigger that would go from any key except the correct answer. I reached out again to the forum and was able to figure this out and troubleshoot when it turned out to be buggy with the help of Nathan_Hilliard. Here's the details of that conversation. Lessons Learned JavaScript is powerful to extend the capabilities of Storyline. AI tools like CoPilot, and ChatGPT will create code for you if you ask what you want it to do correctly. Troubleshooting requires an experienced skillset. You need to pay attention to the details, like capital letters in the code, and to ensure you have all of the triggers to fire in the slide. The eLearning Heroes forum is invaluable when you get stuck on this. Jean Marrapodi jean.marrapodi@umb.comPractice Using JavaScript in Your Storyline Projects #506
This week, your e-learning challenge is to practice using Storyline’s JavaScript API to build interactive e-learning. Start with ready-made examples, explore easy-to-customize code snippets, and discover new ways to create engaging interactions in Articulate Storyline 360.2.1KViews0likes2CommentsTop-Down game mechanics in Storyline
I was fooling around with the new API and created a proof of concept for some mechanics of a top-down game. You can use the WASD keys to move the robot around. If you roll close to objects, I set a variable that allows a layer to open. Unfortunately, the built in Intersection triggers don't work when you move objects with API method, so you need it to do it through JavaScript. If you move the robot off screen to the right, it will go to the next screen in the correct position it left. Try going back higher up and see how it works. The current demo only allows you to go to slide (or room) 3 and back. I can get the coordinates of a character object and then since you know the slide size, you can trigger variables to get you to the next slide and back. I also built some logic in to prevent the robot from going too far up or too far down. On the last slide that you can get to through the menu, you will notice a demo of a platform concept. Move the oval using the keys and notice that we can simulate gravity like any game engine. I imagine if I implemented the same positional logic that we could create a simple platformer but haven't got there yet. Full disclosure: All assets are generated using ChatGPT 4.0 except for the ovals and the rectangles. 😉 Take a look here. https://360.articulate.com/review/content/6104372d-85cf-41cc-8f81-6f42e3a6c061/reviewSolved104Views3likes5CommentsWho sent it?
Hello! This demo shares a simple but overlooked tip on how to verify whether an email is legitimate. I've used Javascript in a couple of places. Firstly, some custom script adjusts the X position of the email background relative to the value of the invisible slider in the foreground. Then, Chris Hodgson's code from last week's challenge stops the whole slide from shifting when you drag the slider with your finger on a mobile device. Finally, a third piece of This gives the effect of moving the email to one side and 'peeking behind the curtain' to see who actually sent it! Looking for an award-winning learning manager, who can rapidly prototype and visualise his ideas to lead and inspire creatives? If so, I am currently hashtag#OpenToWork. Send me an email! Hopefully not a dodgy one.