JavaScript - Que un aviso en la home, aparezca solo una vez

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Que un aviso en la home, aparezca solo una vez

Publicado por CARLOS (6 intervenciones) el 12/08/2018 03:12:40
Hola amigos,
Estoy intentando hacer lo siguiente: Un aviso temporal de cambio de teléfono, debe aparecer en la home de un sitio y al cerrarlo no debe aparecer más.
El mensaje aparece y se cierra correctamente. El tema es que no logro hacer que no aparezca más, por lo menos hasta que se vuelva a cargar la página.
El código fue escrito anteriormente de tal forma que la página de inicio esta formada por 3 archivos:
inc.header.php, inc.footer.php e index.php.

Yo escribí en el inc.header lo siguiente en el inc.header:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div id="cambio_de_telefono" class="nuevo_telefono">
    <div class="texto_nuevo_telefono">
        <input id="cierra_cartel" value="X" />
        <p>ATENCION:</p>
        <p>El tel&eacute;fono <span style="color:black;">4555-5555</span> qued&oacute; desactivado.
        Por favor utilice los siguientes n&uacute;meros:
        </p>
        <p>
        <span class="numero_actual"><strong>4555-0340</strong></span>&nbsp;
        o
        <span class="numero_actual"><strong>&nbsp; 4554-7624</strong></span>
        </p>
    </div>
</div>

el código css asociado es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
.nuevo_telefono{
	display:block;
	margin-left: auto;
	margin-right: auto;
	width:85%;
	height:150px;
	background-color:orange;
	border:5px dashed mediumvioletred;
	border-radius:10px;
}
.texto_nuevo_telefono{
	margin:20px;
	color:white;
	line-height:25px;
	font-size:20px;
	text-align:center;
}
@media (max-width:980px){
	.nuevo_telefono{
		height:170px;
	}
}
@media (max-width:768px){
	.nuevo_telefono{
		width:95%;
		height:180px;
	}
}
@media (max-width:480px){
	.nuevo_telefono{
		width:100%;
		height:230px;
	}
}
.numero_actual{
	font-size:22px;
	color:black;
}
@media (max-width:480px){
	.numero_actual{
		font-size:20px;
	}
}
#cierra_cartel{
	float:right;
	text-align:center;
	font-size:20px;
	font-family:"Arial Black";
	color:black;
	cursor:pointer;
	background-color:white;
	width:25px;
	border:none;
	border-radius:5px;
}

y el código javascript es solo esto:

1
2
3
$('#cierra_cartel').click(function(){
    $("#cambio_de_telefono").css({display:"none"});
});

El cartel vuelve a aparecer permanentemente, porque todas las páginas del sitio tienen incluido el inc.header.php al principio y el inc.footer.php al final.
Que se podría hacer para que desaparezca el cartel y no vuelva a aparecer durante la navegación del sitio?

Desde ya muchas gracias!
Carlos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de ScriptShow
Val: 2.019
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Que un aviso en la home, aparezca solo una vez

Publicado por ScriptShow (692 intervenciones) el 13/08/2018 00:02:57
Saludos Carlos,

puedes probar con: cookies, Iframes, Sesiones en Php, contadores en Php, IP's en Php, Ajax, etc... Siempre manteniendo y respetando los límites de privacidad, previamente avisados.

P.D: Intentaría no complicarlo demasiado, si no es imprescindible.

Que vaya bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Que un aviso en la home, aparezca solo una vez

Publicado por CARLOS (6 intervenciones) el 21/08/2018 16:32:18
Muchas gracias ScriptShow,

Tu opción es válida, pero encontré otra más sencilla.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de abzerox
Val: 477
Bronce
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Que un aviso en la home, aparezca solo una vez

Publicado por abzerox (130 intervenciones) el 13/08/2018 00:03:57
Podrias probar utilizando la propiedad window.sessionStorage, algo así:

1
2
3
4
5
6
7
$('#cierra_cartel').click(function() {
    if (!window.sessionStorage.getItem('cartel')) {
         window.sessionStorage.setItem('cartel', true);
         $("#cambio_de_telefono").css({display:"none"});
    }
 
});
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Que un aviso en la home, aparezca solo una vez

Publicado por CARLOS (6 intervenciones) el 21/08/2018 16:35:58
Muchas gracias abzerox,

Al final utilicé otra solución:
Resulta que descubrí que al insertar el mensaje en el index.php, tenía el mismo resultado y solo aparecía en la Home.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar