Aprende como mostrar informacion oculta de una sección desplegable al presionar un boton con Jquery.

Share on Pinterest
Comparte con tus amigos










Enviar

Hoy en este tutorial aprenderemos como hacer una Sección Desplegable para nuestros sitios web. Y con sección desplegable me refiero a una parte de nuestro sitio que estará oculta hasta que el usuario presione un botón para mostrarla.

Ejemplo:

Como hacer una Sección Desplegable con HTML, CSS (SASS) y Jquery

En esta sección oculta podemos mostrar contenido extra de nuestros sitios, promos, formularios para suscribirse a un newsletter o lo que tu quieras.

Como ya pudiste ver en el .gif anterior, un ejemplo de una sección de este tipo lo podemos encontrar en la pagina de logitech en donde tienen si los usuarios presionan el gran botón amarillo les aparecerá una nueva sección con una pequeña promo de su sitio.

El demo desde su pagina lo puedes ver aquí (aunque no sabemos hasta cuando estará el efecto):

http://www.logitech.com/es-roam/home

Lo que nosotros realizaremos es exactamente lo mismo, una sección oculta que aparecerá al mostrar un botón de nuestra pagina. Como siempre, aquí también te explicaremos como hacer esta sección adaptable a dispositivos móviles. Desde smartphones hasta tablets.

Demo del sitio que estaremos realizando:

http://falconmasters.com/demos/toggle-section/

Recursos a utilizar:

Jquery: http://jquery.com/

Normalize CSS: http://necolas.github.io/normalize.css/

Colors: http://clrs.cc/

Tutorial como hacer una sección desplegable con HTML, CSS (SASS) y Jquery

Código:

Codigo en Github: https://github.com/falconmasters/Seccion-Desplegable-con-Jquery

metaviewport:

<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

Estructura HTML:

<section class="seccionToggle">
		<div class="wrap">
			<h2>Lorem ipsum dolor sit amet.</h2>
			<p>Lorem ipsum dolor sit amet, consectetur.</p>
			<button>Go!</button>
		</div>
	</section>

	<a href="#" id="btn-toggle" class="btn-toggle">Abrir</a>

	<div class="main">
		<div class="wrap">
			<article>
				<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
				tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
				quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
				consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
				cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
				proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
			</article>
			<article>
				<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
				tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
				quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
				consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
				cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
				proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
			</article>
		</div>
	</div>

Nota!: No te olvides de enlazar antes de la etiqueta </body> el script en el que trabajaremos con el section.

Código SASS:

Si quieres aprender SASS aquí tienes un curso genial: https://www.falconmasters.com/cursos/curso-basico-de-sass/

*
	-webkit-box-sizing: border-box
	-moz-box-sizing: border-box
	box-sizing: border-box

body
	background: #111111
	color: white
	font-family: "Helvetica, Arial, Sans-serif"

a
	color: white
	text-decoration: none
	&:hover
		text-decoration: underline

.wrap
	width: 90%
	max-width: 1000px
	margin: auto

.main
	width: 100%
	min-height: 1500px

.seccionToggle
	display: none
	height: calc(100vh - 50px)
	background: #fff
	color: #001F3F
	padding: 50px 0
	text-align: center
	h2
		font-size: 60px
		margin-top: 50px
	p
		font-size: 20px
		margin-bottom: 50px
	button
		background: none
		font-size: 20px
		font-weight: bold
		padding: 20px 40px
		display: inline-block
		border: 5px solid #001F3F
		transition: .3s all ease
		&:hover
			border: 5px solid #0074D9
			color: #0074D9


.btn-toggle
	height: 50px
	line-height: 50px
	font-size: 24px
	font-weight: bold
	color: #000
	display: block
	background: #FFDC00
	text-align: center
	&:hover
		text-decoration: none

@media screen and (max-width: 500px)
	.seccionToggle
		h2
			margin-top: 0

@media screen and (max-height: 550px)
	.seccionToggle
		h2
			font-size: 40px
			margin-top: 0

Código CSS:

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

body {
  background: #111111;
  color: white;
  font-family: "Helvetica, Arial, Sans-serif"; }

a {
  color: white;
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

.wrap {
  width: 90%;
  max-width: 1000px;
  margin: auto; }

.main {
  width: 100%;
  min-height: 1500px; }

.seccionToggle {
  display: none;
  height: calc(100vh - 50px);
  background: #fff;
  color: #001F3F;
  padding: 50px 0;
  text-align: center; }
  .seccionToggle h2 {
    font-size: 60px;
    margin-top: 50px; }
  .seccionToggle p {
    font-size: 20px;
    margin-bottom: 50px; }
  .seccionToggle button {
    background: none;
    font-size: 20px;
    font-weight: bold;
    padding: 20px 40px;
    display: inline-block;
    border: 5px solid #001F3F;
    transition: 0.3s all ease; }
    .seccionToggle button:hover {
      border: 5px solid #0074D9;
      color: #0074D9; }

.btn-toggle {
  height: 50px;
  line-height: 50px;
  font-size: 24px;
  font-weight: bold;
  color: #000;
  display: block;
  background: #FFDC00;
  text-align: center; }
  .btn-toggle:hover {
    text-decoration: none; }

@media screen and (max-width: 500px) {
  .seccionToggle h2 {
    margin-top: 0; } }
@media screen and (max-height: 550px) {
  .seccionToggle h2 {
    font-size: 40px;
    margin-top: 0; } }

Código Jquery:

$(document).ready(function(){
	var estado = false;

	$('#btn-toggle').on('click',function(){
		$('.seccionToggle').slideToggle();

		if (estado == true) {
			$(this).text("Abrir");
			$('body').css({
				"overflow": "auto"
			});
			estado = false;
		} else {
			$(this).text("Cerrar");
			$('body').css({
				"overflow": "hidden"
			});
			estado = true;
		}
	});
});
Share on Pinterest
Comparte con tus amigos










Enviar

FalconMasters Carlos Arturo

18 respuestas a “Como hacer una Sección Desplegable con HTML, CSS (SASS) y Jquery”

  1. Adrian dice:

    Hola, me encantan tus tutos. Ya se que tus videos solo van de tutoriales y cursos cosa que se agradece mil. Pero algún dia estaría bien que hagas un «50 cosas sobre mi» mas que nada para saber donde estudiaste porque sabes un chingo de cosas jajajaj solo eso, Gracias!

  2. Brian Alvarez dice:

    Que genial esto queria hacer hace poco pero no me salio XD Muchas gracias

  3. silvio dice:

    http://www.europarc-deutschland.de/marktplatz-natur/ como hacer ese efecto

    en este caso al darle click a la imagen muestra el contenido de abajo

  4. Alvaro dice:

    quise aplicarlo en un proyecto de pruebas y no logro hacer que al presionar el boton «abrir» se despliegue el contenido a pesar de que incluso en archivos separados copie todo tu codigo y aun asi no logro hacer que funcione el script .

  5. Ruben dice:

    Una pregunta si quiero que por defecto al iniciar mi index, me aparesca desplegado en que parte modificaria?

  6. Walter dice:

    Hola Muy Bueno El Tutorial Falcon

  7. Cecilia Hidalgo dice:

    hola, como hago para que el efecto me salga de derecha a izquierda?Gracias

  8. Facundo Vildoza dice:

    Hola! Primero muchas gracias por tus videos! son de gran ayuda. Tengo un problema. Consegui que me abriera el slide…Pero al apretar «abrir» la pagina se va para arriba de todo y no se queda en la parte en la que me encuentro…podrias decirme cual puede ser el problema? Muchas Gracias!

    • Felix Manuel Martinez Sosa dice:

      No se si aun necesites la respuesta, en caso de que si solo tienes que modificar esto en tu codigo jQuery
      $(document).ready(function(){
      var estado = false;

      $(‘#btn-toggle’).on(‘click’,function(event){
      event.preventDefault(); //esto previene que se ejecute el evento de la etiqueta a
      $(‘.seccionToggle’).slideToggle();

      if (estado == true) {
      $(this).text(«Abrir»);
      $(‘body’).css({
      «overflow»: «auto»
      });
      estado = false;
      } else {
      $(this).text(«Cerrar»);
      $(‘body’).css({
      «overflow»: «hidden»
      });
      estado = true;
      }
      });
      });

  9. Javier Mártin Ayllón Alvarez dice:

    El sitio ahora ha cambiado, puedes hacer un tutorial de como hacer ese efecto que esta ahora?

  10. Ana Touriño Sánchez dice:

    Genial el tutorial!
    Todo funciona a las mil maravillas pero en la versión móvil no funciona el scroll y se queda la sección y no puedes seguir viendo la página. Cómo se podría solucionar este problema?

    Millones de gracias

  11. oscarinside dice:

    Se puede implementar en WordPress?

  12. licito dice:

    Gracias exelente aporte

  13. Gabriel Dising dice:

    FalconMasters, Eres !Exelente!.

  14. samuel villegas dice:

    Excelente vídeo, ¿Cómo puedo hacer para que el movimiento sea lateral? es decir, de derecha a izquierda

  15. Julian David dice:

    hola falcon… tengo una duda… me podrias decir como se llama ese plugin que tienes para colocar el codigo haci como lo tienes… porfavor… y buen tutorial funciona de maravilla gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Aprende con nuestros cursos

React y Firebase: El Curso Completo, Práctico y desde Cero

React y Firebase: Curso Completo, Práctico y desde Cero

En este curso aprenderás React desde lo mas básico y paso por paso hasta un nivel avanzado donde podrás crear sitios y aplicaciones web reales.

Inicia el curso

Diseño Web Profesional El Curso Completo, Practico y desde 0

Bienvenido al Curso de Diseño Web, el curso en el que aprenderás paso por paso y desde cero todo lo que necesitas para convertirte en un diseñador web.

Inicia el curso

Bootstrap 5: El Curso Completo, Práctico y Desde Cero

Aprende Bootstrap 4, el framework de diseño web mas importante del mundo.

Inicia el curso
PHP y MYSQL: El Curso Completo, Practico y Desde Cero

PHP y MYSQL: El Curso Completo, Practico y Desde Cero

Aprende a crear cualquier Aplicacion y Sitio Web!. Aprende PHP y MySQL.

Inicia el curso