Autor:

ScrollTop, mostrar un elemento al llegar a otro

0
4938

A veces necesitamos la manera de crear algún tipo de acción cuando algún elemento se posiciona mediante el scroll en la parte superior de la página, una manera sencilla de poder realizar acciones fácilmente con Jquery es con la función scroll. Aquí os dejo un ejemplo.

CSS

 
html,body{
color:#00bdff;
 
}
 
	#contenido1, #contenido2{
		max-width: 150px;
		margin: 0 auto;
		text-align: justify;
	}
 
	#aviso{
		margin: 0 auto;
		top: 10px;
		position: fixed;
		width: 100%;
		padding: 30px 10px 30px 10px;
		background: #00bdff;
		color: white;
		text-align: center;
	}

HTML

<!DOCTYPE html>
<html lang="es">
<meta charset="UTF-8"/>
 
<head>
 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" type="text/javascript"></script>
 
</head>
<body>  
        <div id="contenido1">
	  <h2>Contenido 1</h2>
             <h3>NOTA:</h3>
             <h4>Haz scroll hasta el contenido 2, para poder ver aparecer un elemento, informando que estás haciendo scroll sobre el contenido2.</h4>
	</div>
 
 <div id="aviso"><h2>Estás haciendo scroll sobre el contenido 2</h2></div>		
 
 
	<div id="contenido2">
 
	  <h2>Contenido2</h2>
	  En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más vaca que carnero, salpicón las más noches, duelos y quebrantos los sábados, lantejas los viernes, algún palomino de añadidura los domingos, consumían las tres partes de su hacienda. El resto della concluían sayo de velarte, calzas de velludo para las fiestas, con sus pantuflos de lo mesmo, y los días de entresemana se honraba con su vellorí de lo más fino. Tenía en su casa una ama que pasaba de los cuarenta, y una sobrina que no llegaba a los veinte, y un mozo de campo y plaza, que así ensillaba el rocín como tomaba la podadera. Frisaba la edad de nuestro hidalgo con los cincuenta años; era de complexión recia, seco de carnes, enjuto de rostro, gran madrugador y amigo de la caza. Quieren decir que tenía el sobrenombre de Quijada, o Quesada, que en esto hay alguna diferencia en los autores que deste caso escriben; aunque, por conjeturas verosímiles, se deja entender que se llamaba Quejana. Pero esto importa poco a nuestro cuento; basta que en la narración dél no se salga un punto de la verdad. 
 
	Es, pues, de saber que este sobredicho hidalgo, los ratos que estaba ocioso, que eran los más del año, se daba a leer libros de caballerías, con tanta afición y gusto, que olvidó casi de todo punto el ejercicio de la caza, y aun la administración de su hacienda. Y llegó a tanto su curiosidad y desatino en esto, que vendió muchas hanegas de tierra de sembradura para comprar libros de caballerías en que leer, y así, llevó a su casa todos cuantos pudo haber dellos; y de todos, ningunos le parecían tan bien como los que compuso el famoso Feliciano de Silva, porque la claridad de su prosa y aquellas entricadas razones suyas le parecían de perlas, y más cuando llegaba a leer aquellos requiebros y cartas de desafíos, donde en muchas partes hallaba escrito: La razón de la sinrazón que a mi razón se hace, de tal manera mi razón enflaquece, que con razón me quejo de la vuestra fermosura. Y también cuando leía: ...los altos cielos que de vuestra divinidad divinamente con las estrellas os fortifican, y os hacen merecedora del merecimiento que merece la vuestra grandeza. 
 
	</div>
 
 
 
  </body>
  </html>

Javascript y Jquery

$(document).ready(function() {
$('#aviso').hide(0);
 
 
		$(window).scroll(function(){
				var windowHeight = $(window).scrollTop();
				var contenido2 = $("#contenido2").offset();
				contenido2 = contenido2.top;
 
				    if(windowHeight >= contenido2  ){
					$('#aviso').fadeIn(500);
 
				    }else{
					$('#aviso').fadeOut(500);
				}
		               });
                });

Función scroll()

Usamos la función scroll() para poder ejecutar una acción siempre que el scroll del navegador detecte movimiento, es muy útil para crear muchos tipos de efectos y mejorar la navegación.

scrollTop() usada para calcular la posición en este caso de los píxeles (en alto) en la que se encuentra actualmente la parte superior de la ventana del navegador, con respecto al scroll.

También usamos las funciones offset() .top para extraer el tamaño en píxeles(en alto) de la parte superior del elemento en este caso el identificador #contenido2

Mira este ejemplo funcionando