Blog Reacción Estudio

¡Tu zona de aprendizaje!

Efecto apagar y encender las luces en tu sitio web

Seguramente en muchas webs de Streaming de video podréis ver que tienen un botón u opción para poner el fondo de la página en negro y resaltar el reproductor de video, a esto se le conoce como apagar y encender las luces del sitio web en cuestión. Pues bien, utilizando CSS, jQuery y HTML vamos a aprender cómo hacer esto de forma muy sencilla.

HTML

<div id="luces"></div>
        
<div id="video">
     	<iframe width="420" height="315" src="http://www.youtube.com/embed/PwfQSWoyA5k" frameborder="0" allowfullscreen></iframe>
</div>
        
<input type="button" value="Apagar/encender las luces" id="apagar" />

La capa «luces» es aquella que va a cubrir toda la página en negro, más adelante veremos las propiedades CSS que le daremos a ésta. Después, la capa «video» es una capa que hemos utlizado para poner un video de Youtube centrado en la página. Por último ponemos un botón para encender y apagar las luces.

CSS

body{
	margin:0;
}
			
#luces{
	background-color:black;
	opacity:0.9;
	position:absolute;
	height:100%;
	width:100%;
	z-index:1;	
}
			
#video{
	position:absolute;
	z-index:2;
				
	height:315px;
	width:420px;
				
	top:50%;
	left:50%;
				
	margin-left:-210px;
	margin-top:-157px;				
}
			
input[type="button"]{
	position:absolute;
	z-index:2;
				
	height:40px;
	font-size:16px;
	margin-left:20px;
	margin-top:20px;
}

A la capa «luces» la ponemos el fondo negro, algo de opacidad al fondo, altura y anchura al 100% para que ocupe toda la página y posición absoluta con el «z-index» al «1«. Si queremos que otros elementos estén por encima de ésta capa, como hemos hecho con la capa «video«, debemos ponerle a la propiedad «z-index» un valor mayor al de la capa «luces«, en este caso como tiene que ser mayor que «1» le ponemos a la capa «video» el valor «2«.

Hacemos lo mismo con el botón para apagar y encender las luces.

jQuery

Incluímos la librería jQuery desde la CDN de Google:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

Ahora vamos con el código:

$(document).ready(function(){
				
	//escondemos el div
	$("#luces").hide();
				
	$("#apagar").click(function(){
				
		$("#luces").fadeToggle(250);
			
	});
				
});

El código anterior es muy simple, cuando se pincha en el botón de encender o apagar las luces, muestra o esconde la capa «luces» dependiendo si las luces están apagadas o encendidas.

Así de simple. Cualquier consulta no duden en preguntar.

Ver ejemplo