Artigos sobre: Páginas de Vendas
Este artigo também está disponível em:

Como mostrar um conteúdo após determinado momento?

Mostrando e escondendo elementos na página



Nesse artigo vamos te explicar como funciona o nosso script de mostrar conteúdo em um momento específico do vídeo.

O recurso de mostrar/ocultar é muito importante o pessoal do marketing digital na construção de landing pages, ou seja, construção das páginas de vendas de seus produtos.

Uma das estratégias de vendas muito utilizadas é a da landing page limpa com apenas uma chamada forte no topo e um vídeo de vendas logo abaixo.

Ao longo do vídeo, geralmente no momento em que o produtor acredita que o lead esteja preparado para comprar o produto, vários elementos surgem na página anteriormente “vazia”.

Temos muito produtores, assim como você, que usam a Panda hospedando vídeos para suas landing pages e por isso esse artigo tem o intuito de ajudar você, com um script que esconde elementos da sua página e mostra no momento mais coerente para sua estratégia de vendas 😉

Este artigo propõe a configuração do script no para páginas. Leia o artigo sobre como configurar no Elementor

Vamos ao passo a passo:


Você deve construir a sua página com todos os elementos que deseja, até aqueles que quer esconder.
Em seguida, todos os elementos que quer esconder e mostrar na mesma minutagem precisam ter a Classe CSS nomeadas com o nome panda.
Abaixo de todos os elementos adicione um elemento elemento HTML ao final seção.
Copie o script abaixo, cole dentro de um elemento HTML e clique no botão verde Atualizar.

<style> 
    .panda {
        display: none
    }
</style>

<script>
    const SECONDS_TO_DISPLAY = 3;
    const CLASS_TO_DISPLAY = 'panda';
    const IFRAME_ID = 'INSERIR_ID'
    const API_ENDPOINT = 'https://player.pandavideo.com.br/api.v2.js'

    if(!document.querySelector(`script[src='${API_ENDPOINT}']`)) { 
        let s = document.createElement('script'); 
        s.src = API_ENDPOINT; 
        s.async = true; 
        document.head.appendChild(s);
    }

    window.pandascripttag = window.pandascripttag || [];
    window.pandascripttag.push(function () {
        const p = new PandaPlayer(IFRAME_ID , {
            onReady() {
                const el = document.querySelectorAll(`.${CLASS_TO_DISPLAY}`);
                p.onEvent(e => {
                const type = e.message
                if(type === 'panda_timeupdate'){
                    const { currentTime, isMutedIndicator } = e;
                    if (isMutedIndicator) return;
                    if (currentTime < SECONDS_TO_DISPLAY) {
                        el.forEach(e => {
                            e.style.display = 'none'
                        })
                    } else if (currentTime > SECONDS_TO_DISPLAY) {
                        el.forEach(e => {
                            e.style.display = 'block'
                        })
                    }
                }
                })
            }
        });
    })
</script>


A unidade do tempo do script está em segundo. Para escolher o tempo certo de acordo com a sua estratégia é só mudar o número 3 em const SECONDS_TO_DISPLAY = 3 que está no script para o tempo em segundo em que deseja que os elementos apareçam.

Para especificar em qual vídeo deseja que o script execute, basta alterar a const IFRAME_ID = 'INSERIR_ID' para o id do código iframe do vídeo. Ex: const IFRAME_ID = 'panda-3b101f05-84aa-4de0-9b64-71f1855388af'

Como manter os elementos visíveis após a primeira apresentação?



Com esse outro código já entregamos a possibilidade de salvar quando o usuário já assistiu até o pitch de venda para que quando ele abrir a página novamente o conteúdo oculto já apareça automaticamente. Apenas avisando que a diferença desse código para o de cima é apenas a adição de uma condição ALREADY_WATCHED, que salva esse evento no localStorage do navegador do usuário, assim, quando ele acessar a página novamente esse evento vai ser ativado confirmando que ele já assistiu até o pitch:

<style> 

    .panda {

        display: none;
    }
</style>

<script>
    const SECONDS_TO_DISPLAY = 3;
    const CLASS_TO_DISPLAY = 'panda';
    const IFRAME_ID = 'INSERIR_ID';
    const API_ENDPOINT = 'https://player.pandavideo.com.br/api.v2.js';
    let watched = localStorage.getItem(`pandavideo_script_delay_watched_${IFRAME_ID}_${CLASS_TO_DISPLAY}`) || false;

    if (!document.querySelector(`script[src='${API_ENDPOINT}']`)) { 
        let s = document.createElement('script'); 
        s.src = API_ENDPOINT; 
        s.async = true; 
        document.head.appendChild(s);
    }
    
    if (watched) {
        const el = document.querySelectorAll(`.${CLASS_TO_DISPLAY}`);
        el.forEach(e => {
            e.style.display = 'block';
        });
    } else {
        const el = document.querySelectorAll(`.${CLASS_TO_DISPLAY}`);
        el.forEach(e => {
            e.style.display = 'none';
        });
    }
    
    window.pandascripttag = window.pandascripttag || [];
    window.pandascripttag.push(function () {
        const p = new PandaPlayer(IFRAME_ID , {
            onReady() {
                const el = document.querySelectorAll(`.${CLASS_TO_DISPLAY}`);
                p.onEvent(e => {
                    const type = e.message;
                    if (type === 'panda_timeupdate') {
                        const { currentTime, isMutedIndicator } = e;
                        if (isMutedIndicator || watched) return;

                        if (currentTime < SECONDS_TO_DISPLAY) {
                            el.forEach(e => {
                                e.style.display = 'none';
                            });
                        } else if (currentTime > SECONDS_TO_DISPLAY) {
                            el.forEach(e => {
                                e.style.display = 'block';
                            });
                            watched = true;
                            localStorage.setItem(`pandavideo_script_delay_watched_${IFRAME_ID}_${CLASS_TO_DISPLAY}`, watched);
                        }
                    }
                });
            }
        });
    });
</script>


Ficou com alguma dúvida? Entre em contato com o nosso suporte


Caso esteja com alguma dúvida ou até mesmo não muito confiante sobre a configuração, chame o nosso suporte no chat e iremos te ajudar nos passos que sentir dificuldade.

Atualizado em: 10/10/2023

Este artigo foi útil?

Compartilhe seu feedback

Cancelar

Obrigado!