Snippets

Merkulove Team Lottier player initialization in custom event

Created by Dmitry Merkulov
/**
 * RUN AFTER SLIDER IS INITIALIZED
 */

// Add slider wrapper class name, to inialize lottiers only inside your slider
const lottiers = document.querySelectorAll( ".mdp-lottier" ); 

for ( const lottier of lottiers ) {

    const lottierPlayer = lottier.querySelector( "lottie-player" );

    lottierPlayer.setSpeed( parseInt( lottier.getAttribute( "data-speed" ) ) );
    lottierPlayer.loop = "true" === lottier.getAttribute( "data-loop" );
    lottierPlayer.controls = "true" === lottier.getAttribute( "data-controls" );
    lottierPlayer.mode = lottier.getAttribute( "data-mode" );
    lottierPlayer.renderer = lottier.getAttribute( "data-renderer" );

    if ( "auto_play" === lottier.getAttribute( "data-autoplay" ) ) {

        lottierPlayer.play();

    }

    if ( "section_hover" === lottier.getAttribute( "data-autoplay" ) ){

        lottierPlayer.addEventListener( "mouseover", function() {

            lottierPlayer.play();

        } );

        lottierPlayer.addEventListener( "mouseout", function() {

            lottierPlayer.pause();

        } );

    }

    if ( "on_click" === lottier.getAttribute( "data-autoplay" ) ){

        let startPlay = 0;
        lottierPlayer.addEventListener( "click", function() {

            if ( startPlay === 0 ) {

                lottierPlayer.play();
                startPlay = 1;

            } else {

                lottierPlayer.pause();
                startPlay = 0;

            }

        } );

    }

    if ( "true" === lottier.getAttribute( "data-enablelink" ) ) {

        lottierPlayer.addEventListener( "click", function() {

            window.open( lottier.getAttribute( "data-link" ), "_blank" );

        } );

    }

}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.