Im using a script to play a html5 video once an element is in viewport. Once the video is played I want it to remain paused, but once I start scrolling the video start playing again. Any idea how to trigger play only once?
Script:
jQuery.fn.isInViewport = function() {
var elementTop = jQuery(this).offset().top;
var elementBottom = elementTop + jQuery(this).outerHeight();
var viewportTop = jQuery(window).scrollTop();
var viewportBottom = viewportTop + jQuery(window).height();
return elementBottom > viewportTop && elementTop < viewportBottom;
};
jQuery(window).on('resize scroll', function() {
if (jQuery('.videoblock').isInViewport()) {
jQuery('video.full_screen_sections_video').trigger('play');
}
});
Edit: I added jQuery(this).removeClass('videoblock');
to my the function. This solves it, not sure of thats the best way to do it?