Scroll-controlled video playback effect

I need a scroll-controlled video playback effect that I can embed inside my Google Site. The effect should work like this:

  • As the user scrolls down, the video advances frame by frame (or smoothly scrubs forward).

  • As the user scrolls up, the video rewinds frame by frame.

  • The scroll position is directly tied to the playback position in the video (or image sequence).

  • It should work smoothly on desktop and mobile.

  • Since Google Sites doesn’t allow direct JavaScript injection, I will need the effect packaged so it can be embedded (iframe or embed code).

Hi there and welcome to the Community, @Cdeeq_Rapheal :waving_hand:

The idea you’ve described sounds like an additional effect to a specific video widget, but not the widget itself, which goes beyond our general concept.

So, I am afraid, we won’t be able to incorporate this idea.

Anyway, thanks for sharing your thoughts with us! If you have more ideas in mind, we’ll gladly discuss them with you :wink:

Thanks for reply but let me show you example so that get better understanding i what i mean. https://codepen.io/marduklien/pen/MdvdEG?utm_source

This widget will give the people to let there scroll button act as play button give a dynamic experience

Thanks for sharing your example!

I took a look, and I see what you’re going for. Based on your code, I’d still consider this a custom scrolling effect rather than a standalone widget in the way we define them.

Let me explain the difference a bit more.

We typically create widgets that are installed on websites, and their appearance can be customized in the editor. For example, if you have an Instagram Feed widget, it displays your posts on the site, and you can change fonts, colors, backgrounds, etc., in the editor.

In your case, the code you shared doesn’t function as a widget—it just modifies how the video scrolls on your site. It’s more of an effect rather than a standalone widget and can’t be adjusted in the editor.

If you have a different idea of how you want to implement this, please share it! I’d be happy to discuss it with you :slightly_smiling_face: