Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Retrasar aparición de Pop-up

Estas en el tema de Retrasar aparición de Pop-up en el foro de PHP en Foros del Web. Hola a todos, Poco a poco voy aprendiendo por mi cuenta html, php, javascript, .... pero hay cosas que aun no se como hacerlas. Vereis, ...
  #1 (permalink)  
Antiguo 22/02/2015, 12:07
 
Fecha de Ingreso: enero-2014
Ubicación: Málaga
Mensajes: 13
Antigüedad: 10 años, 3 meses
Puntos: 0
Retrasar aparición de Pop-up

Hola a todos,

Poco a poco voy aprendiendo por mi cuenta html, php, javascript, .... pero hay cosas que aun no se como hacerlas.
Vereis, tengo una web en la que quiero retrasar la aparición de un pop-up que aparece tras ingresar en la web (index). Es para pedir una suscripción a la Newsletter.
Ya lo tengo realizado, pero el siguiente paso es querer retrasar su aparición digamos unos 5 segundos y no se como implementarlo. He leído algo de la función "Settimeout", pero como decía no se implementarla.

Me podríais echar una mano?


Gracias
  #2 (permalink)  
Antiguo 22/02/2015, 12:15
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Retrasar aparición de Pop-up

Esto va en el foro Javascript

Efectivamente, debes utilizar setTimeout para hacer el delay:

Código Javascript:
Ver original
  1. window.setTimeout(function(){
  2.    // Mostrar el pop-up
  3. }, 5000);

Nota: el tiempo debe estar en milisegundos
  #3 (permalink)  
Antiguo 22/02/2015, 13:42
 
Fecha de Ingreso: enero-2014
Ubicación: Málaga
Mensajes: 13
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Retrasar aparición de Pop-up

Hola,

el tema de javascript me cuesta todavia.

Tengo este codigo:

Código HTML:
<script type="text/javascript">
jQuery(document).ready(function() {
	$.fancybox('{/literal}{if isset($msg) && $msg}<h1 class="{if $nw_error}warning_inline{else}success_inline{/if}">{$msg}</h1>{else}{$content|strip|escape:'javascript'}<br/><a href="?dontshowhmw=yes">{l s=' Dont Show This Again ' mod='homemodalwindow'}</a>{/if}{literal}',
		{
			'width'			    : 650,
			'height'		    : 400,
			'autoScale'  		: true,
			'scrolling'  		: 'no'
		});
});
</script> 


¿Como deberia ser?

window.setTimeout("fancybox()",5000);


y disculpa mi ignorancia. aun estoy un poco verde.


PD: Esto realmente procede de un modulo de prestashop


Gracias de nuevo
  #4 (permalink)  
Antiguo 22/02/2015, 14:31
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Retrasar aparición de Pop-up

Sería cuestión de meter todo código que abre el popup dentro de donde señalé.
  #5 (permalink)  
Antiguo 22/02/2015, 14:32
 
Fecha de Ingreso: enero-2014
Ubicación: Málaga
Mensajes: 13
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Retrasar aparición de Pop-up

si escribo esto:

Código HTML:
<script type="text/javascript">
jQuery(document).ready(function() {
	$.fancybox('{/literal}{if isset($msg) && $msg}<h1 class="{if $nw_error}warning_inline{else}success_inline{/if}">{$msg}</h1>{else}{$content|strip|escape:'javascript'}<br/><a href="?dontshowhmw=yes">{l s=' Dont Show This Again ' mod='homemodalwindow'}</a>{/if}{literal}',
		{
			'width'			    : 650,
			'height'		    : 400,
			'autoScale'  		: true,
			'scrolling'  		: 'no'
		});
		window.setTimeout("$.fancybox(document)",8000);
});
</script> 

lo que consigo es que se me cierre a los 8 segundos
  #6 (permalink)  
Antiguo 22/02/2015, 15:02
 
Fecha de Ingreso: enero-2014
Ubicación: Málaga
Mensajes: 13
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Retrasar aparición de Pop-up

AHORA SI


Código HTML:
<script type="text/javascript">
jQuery(document).ready(function() {
	window.setTimeout(function(){$.fancybox('{/literal}{if isset($msg) && $msg}<h1 class="{if $nw_error}warning_inline{else}success_inline{/if}">{$msg}</h1>{else}{$content|strip|escape:'javascript'}<br/><a href="?dontshowhmw=yes">{l s=' Dont Show This Again ' mod='homemodalwindow'}</a>{/if}{literal}',
		{
			'width'			    : 650,
			'height'		    : 400,
			'autoScale'  		: true,
			'scrolling'  		: 'no'
		});},5000);
});
</script> 


Muchísimas gracias
  #7 (permalink)  
Antiguo 22/02/2015, 15:30
 
Fecha de Ingreso: enero-2014
Ubicación: Málaga
Mensajes: 13
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Retrasar aparición de Pop-up

Ya para rizar el rizo.....
Aunque cierre el pop-up en la cruceta, si me pongo a navegar por la web y vuelvo al home, me vuelve a saltar el pop-up.
  #8 (permalink)  
Antiguo 23/02/2015, 09:31
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Retrasar aparición de Pop-up

Eso lo puedes hacer dejando una cookie al usuario (visto=true), y comprobarla con JavaScript cada vez que se accede al sitio, de esta forma sabes si el usuario accedió anteriormente.

PD: También puedes mirarte localStorage

Etiquetas: html, pop-up
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:05.