none
Popup com erro RRS feed

  • Pergunta

  • Alguem pode me ajudar, estou tentando colocar o meu popup com sessionstorage mas o codigo nao esta funcionando , alguem me ajuda por favor

    $(document).ready(function(){
        var banner_obj = document.getElementById('banner_popup');
        var banner_obj = document.getElementById('banner_popup');

        function fecha_banner_timeout() {
            setTimeout('fecha_banner()', 10000);
        }

        if (!window.sessionStorage.getItem("popup-exibida"))
        {
            function abre_banner() {
                var banner_obj = document.getElementById('banner_popup');

                banner_obj.style.left = '';
                banner_obj.style.top = '';

                banner_obj.style.display = '';

                fecha_banner_timeout();
            }
        }
        else {
            window.sessionStorage.setItem("popup-exibida", "1");
        }

        function fecha_banner() {
            var banner_obj = document.getElementById('banner_popup');
            banner_obj.style.display = 'none';
        }
    });

    terça-feira, 1 de março de 2016 18:12

Respostas

  • Alguns pontos:

    • Você não está referenciando a biblioteca jQuery
    • Seu if (poup_exibida != "1") ainda continua com o else
    • Você precisa dar um display:none no elemento
    • não precisa mais chamar o abre_banner(); no final do seu HTML.

    segue o código com as alterações:

    <!DOCTYPE html>
    <html lang="pt-br">
        <head>
            <title>Banner Popup</title>
            <link rel="stylesheet" type="text/css" href="css/stylepopup.css" />
         <script src="http://code.jquery.com/jquery-1.8.1.js" type="text/javascript"></script>
    	 <script type="text/javascript" >
    		$(document).ready(function(){
    			var poup_exibida = sessionStorage.getItem("popup-exibida");
    			if (poup_exibida != "1")
    			{
    				abre_banner();
    				sessionStorage.setItem("popup-exibida", "1");
    			}
    		});
    
    		function fecha_banner_timeout() {
    			setTimeout(function(){
    				fecha_banner()
    			}, 10000);
    		}
    
    		function abre_banner() {
    				var banner_obj = document.getElementById('banner_popup');
    
    				banner_obj.style.left = '';
    				banner_obj.style.top = '';
    
    				banner_obj.style.display = '';
    
    				fecha_banner_timeout();
    		}
    
    		function fecha_banner() {
    			var banner_obj = document.getElementById('banner_popup');
    			banner_obj.style.display = 'none';
    		}
    		</script>
        </head>
        <body>
         
            <div id="banner_popup" style="display:none">
                <a href="javascript: void(0);" onclick="fecha_banner();" class="linksFechar">
                    <img class="imgfechar" src="img/fechar.png" border="0">
                </a>
                <a href="tornar-pagina-principal.html" target="_self">
                    <div class="info">
                        <h1><span class="linha1">Faça o </span></br><span class="linha2a"> ABC </span>
    
                          <span class="linha2b">do</span><span class="linha2c"> ABC </span></br>
    
                          <span class="linha3">sua página Inicial!</span></h1>
                        <div class="button">
                            Clique Aqui!
                        </div>
                        <!--<button type="button" class="button">Clique Aqui!</button>-->
                    </div>
                </a>
            </div>
    
            <script language="JavaScript">
            if(document.getElementById('banner_popup'))
                //abre_banner();
            </script> 
    
       </body>
    </html>
    
    

    quinta-feira, 3 de março de 2016 19:42

Todas as Respostas

  • Deve ser isso:

    <script>
    $(document).ready(function(){
    	var poup_exibida = sessionStorage.getItem("popup-exibida");
        if (poup_exibida != "1")
        {
            abre_banner();
    		sessionStorage.setItem("popup-exibida", "1");
        }
    });
    function fecha_banner_timeout() {
    	setTimeout(function() {fecha_banner() }, 10000);
    }
    function abre_banner() {
    		var banner_obj = document.getElementById('banner_popup');
    
    		banner_obj.style.left = '';
    		banner_obj.style.top = '';
    
    		banner_obj.style.display = '';
    
    		fecha_banner_timeout();
    }
    function fecha_banner() {
    	var banner_obj = document.getElementById('banner_popup');
    	banner_obj.style.display = 'none';
    }
    </script>
    

    quinta-feira, 3 de março de 2016 06:26
  • obrigado mano, mas nao esta funcionando ....
    quinta-feira, 3 de março de 2016 17:14
  • Este código aqui funciona perfeitamente.

    Qual é o objetivo? Abre uma vez, exibe por 10 segundos depois fecha e não exibe mais?

    <script src="http://code.jquery.com/jquery-1.8.1.js" type="text/javascript"></script>
    <script>
    $(document).ready(function(){
    	var poup_exibida = sessionStorage.getItem("popup-exibida");
        if (poup_exibida != "1")
        {
            abre_banner();
    		sessionStorage.setItem("popup-exibida", "1");
        }
    });
    function fecha_banner_timeout() {
    	setTimeout(function() {fecha_banner() }, 10000);
    }
    function abre_banner() {
    		var banner_obj = document.getElementById('banner_popup');
    
    		banner_obj.style.left = '';
    		banner_obj.style.top = '';
    
    		banner_obj.style.display = '';
    
    		fecha_banner_timeout();
    }
    function fecha_banner() {
    	var banner_obj = document.getElementById('banner_popup');
    	banner_obj.style.display = 'none';
    }
    </script>
    
    <div id="banner_popup" style="display:none">Oi eu sou um banner</div>

    quinta-feira, 3 de março de 2016 18:33
  • por exemplo , a pessoa entra no meu site ai aparece o popup, ai ela fecha e continua navegando no meu site mas quando ela voltar para home, o popup não pode aparecer novamente, a pessoa navega mesmo ela fechando a aba e abrir outra e entrar no meu site não pode aparecer, ai andei pesquisando esse sessionstorage ele grava que você já entrou no site e só aparece de novo quando ele fechar o browser, so que não estava conseguindo colocar certinho, ai fez esse código só que ele não esta funcionando , ele funciona assim : abre o popup e fecha após o segundo ou se aparta no x , mas quando volto para a pagina ele aparece o popup outra vez, mas o objetivo e quando for voltar nao aparecer e esse sessionstorage ele grava ate fechar o browser.... teria como você me ajudar ?
    quinta-feira, 3 de março de 2016 19:12
  • Posta o seu código ai para eu ver. No exemplo que te passei ele funciona exatamente da forma que você descreve, então deve ser algum detalhezinho na implementação do código.
    quinta-feira, 3 de março de 2016 19:15
  • tudo bem

    -HTML

    <!DOCTYPE html>
    <html lang="pt-br">
        <head>
            <title>Banner Popup</title>
            <link rel="stylesheet" type="text/css" href="css/stylepopup.css" />
            <script type="text/javascript" src="js/jspopup.js"></script>
        </head>
        <body>
         
            <div id="banner_popup">
                <a href="javascript: void(0);" onclick="fecha_banner();" class="linksFechar">
                    <img class="imgfechar" src="img/fechar.png" border="0">
                </a>
                <a href="tornar-pagina-principal.html" target="_self">
                    <div class="info">
                        <h1><span class="linha1">Faça o </span></br><span class="linha2a"> ABC </span>

                          <span class="linha2b">do</span><span class="linha2c"> ABC </span></br>

                          <span class="linha3">sua página Inicial!</span></h1>
                        <div class="button">
                            Clique Aqui!
                        </div>
                        <!--<button type="button" class="button">Clique Aqui!</button>-->
                    </div>
                </a>
            </div>

            <script language="JavaScript">
            if(document.getElementById('banner_popup'))
                abre_banner();
            </script> 

       </body>
    </html>

    -JAVASCRIPT

    $(document).ready(function(){
        var poup_exibida = sessionStorage.getItem("popup-exibida");
        if (poup_exibida != "1")
        {
            abre_banner();
        }
        
        else{
            sessionStorage.setItem("popup-exibida", "1");
        }
    });

    function fecha_banner_timeout() {
        setTimeout(function(){
            fecha_banner()
        }, 10000);
    }

    function abre_banner() {
            var banner_obj = document.getElementById('banner_popup');

            banner_obj.style.left = '';
            banner_obj.style.top = '';

            banner_obj.style.display = '';

            fecha_banner_timeout();
    }

    function fecha_banner() {
        var banner_obj = document.getElementById('banner_popup');
        banner_obj.style.display = 'none';
    }

    esse seria o codigo, clicando em fecha continua a navegar, e se clica em clique aqui, ele vai para um outra pagina... mas queria que ele parece se aparecer o popup quando voltasse para a pagina anterior ou entrando denovo no site , so voltaria aparecer quando ele fechasse o browser, esse sessionstorage e a funçao dele

    quinta-feira, 3 de março de 2016 19:28
  • Alguns pontos:

    • Você não está referenciando a biblioteca jQuery
    • Seu if (poup_exibida != "1") ainda continua com o else
    • Você precisa dar um display:none no elemento
    • não precisa mais chamar o abre_banner(); no final do seu HTML.

    segue o código com as alterações:

    <!DOCTYPE html>
    <html lang="pt-br">
        <head>
            <title>Banner Popup</title>
            <link rel="stylesheet" type="text/css" href="css/stylepopup.css" />
         <script src="http://code.jquery.com/jquery-1.8.1.js" type="text/javascript"></script>
    	 <script type="text/javascript" >
    		$(document).ready(function(){
    			var poup_exibida = sessionStorage.getItem("popup-exibida");
    			if (poup_exibida != "1")
    			{
    				abre_banner();
    				sessionStorage.setItem("popup-exibida", "1");
    			}
    		});
    
    		function fecha_banner_timeout() {
    			setTimeout(function(){
    				fecha_banner()
    			}, 10000);
    		}
    
    		function abre_banner() {
    				var banner_obj = document.getElementById('banner_popup');
    
    				banner_obj.style.left = '';
    				banner_obj.style.top = '';
    
    				banner_obj.style.display = '';
    
    				fecha_banner_timeout();
    		}
    
    		function fecha_banner() {
    			var banner_obj = document.getElementById('banner_popup');
    			banner_obj.style.display = 'none';
    		}
    		</script>
        </head>
        <body>
         
            <div id="banner_popup" style="display:none">
                <a href="javascript: void(0);" onclick="fecha_banner();" class="linksFechar">
                    <img class="imgfechar" src="img/fechar.png" border="0">
                </a>
                <a href="tornar-pagina-principal.html" target="_self">
                    <div class="info">
                        <h1><span class="linha1">Faça o </span></br><span class="linha2a"> ABC </span>
    
                          <span class="linha2b">do</span><span class="linha2c"> ABC </span></br>
    
                          <span class="linha3">sua página Inicial!</span></h1>
                        <div class="button">
                            Clique Aqui!
                        </div>
                        <!--<button type="button" class="button">Clique Aqui!</button>-->
                    </div>
                </a>
            </div>
    
            <script language="JavaScript">
            if(document.getElementById('banner_popup'))
                //abre_banner();
            </script> 
    
       </body>
    </html>
    
    

    quinta-feira, 3 de março de 2016 19:42
  • obrigado, valeu mesmo

    segunda-feira, 7 de março de 2016 16:44
  • e Cesar Cassiano, porque a minha variável não esta sendo setada(se e assim que se diz) pois ela não esta gravando na variável

    $(document).ready(function(){
                var poup_exibida = sessionStorage.getItem("banner_popup");
                if (poup_exibida != "1")
                {
                    abre_banner();
                    sessionStorage.setItem("banner_popup", "1");
                }
            });

            function fecha_banner_timeout() {
                setTimeout(function(){
                    fecha_banner()
                }, 10000);
            }

            function abre_banner() {
                    var banner_obj = document.getElementById('banner_popup');

                    banner_obj.style.left = '';
                    banner_obj.style.top = '';

                    banner_obj.style.display = '';

                    fecha_banner_timeout();
            }

            function fecha_banner() {
                var banner_obj = document.getElementById('banner_popup');
                banner_obj.style.display = 'none';
            }

    segunda-feira, 7 de março de 2016 17:32
  • Neste caso ai não estaria setando caso desse um erro de javascript antes.

    Como você está verificando se ela está setada?

    segunda-feira, 7 de março de 2016 18:26
  • então eu não sei kkkkkkk, desculpa, sou iniciante ainda nessa área de programação
    quarta-feira, 9 de março de 2016 16:57