Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Fade in Fade out - Boton "ir arriba"

Estas en el tema de Fade in Fade out - Boton "ir arriba" en el foro de Javascript en Foros del Web. Buenas! Ando con un pequeño dilema. Como ya mencione anteriormente en el foro, no soy experto, solo soy un estudiante de diseño y programación web ...
  #1 (permalink)  
Antiguo 08/01/2015, 23:08
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 9 años, 5 meses
Puntos: 208
Fade in Fade out - Boton "ir arriba"

Buenas!

Ando con un pequeño dilema. Como ya mencione anteriormente en el foro, no soy experto, solo soy un estudiante de diseño y programación web con ganas de aprender jaja.
Estoy haciendo un sitio para unos amigos, solo de práctica, y quería agregar a la pagina un botón para volver arriba, el típico botoncito que aparece al hacer scroll y te lleva al TOP cuando lo presionas.

Hasta ahora pude hacer que el botón este en la esquina inferior derecha y que me lleve al top, lo que no logro es hacer que el botón aparezca cuando hago scroll, agradecería una ayudita..

Código HTML:
<img src="img/arriba.png" class="ir_arriba" width="65px" height="65px" onclick="subir();return false" /> 
Css:
Código:
.ir_arriba{
   display:none;
   position:fixed;
   bottom:10px;
   right:10px;
   cursor:pointer;
}
js:
Código:
var arriba;
function subir() {
if (document.body.scrollTop != 0 || document.documentElement.scrollTop != 0) {
	window.scrollBy(0, -15);
	arriba = setTimeout('subir()', 0.3);
}
else clearTimeout(arriba);
}
Hasta ahora es todo lo que tengo, si alguien puede ayudarme con el fade in fade out desde ya le agradezco muchisimo.

Saludos!
  #2 (permalink)  
Antiguo 08/01/2015, 23:23
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Fade in Fade out - Boton "ir arriba"

Para ejecutar una instrucción o conjunto de instrucciones cuando el usuario se desplace con la barra, utiliza el evento scroll.

En este ejemplo, mostraré la imagen cuando el usuario se haya desplazado más de 200 píxeles y la ocultaré cuando la cantidad de píxeles desplazados sea menor o igual a 200:
Código Javascript:
Ver original
  1. window.addEventListener("scroll", function(){
  2.     if (this.pageYOffset > 200){
  3.         document.querySelector(".ir_arriba").style.display = "block";
  4.     }
  5.     else{
  6.         document.querySelector(".ir_arriba").style.display = "none";
  7.     }
  8. }, false);

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 08/01/2015, 23:46
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 9 años, 5 meses
Puntos: 208
Respuesta: Fade in Fade out - Boton "ir arriba"

Buenisimo! Gracias Alexis88 funciona perfecto..

Solo una cosita mas, el boton aparece como muy de golpe. Yo quisiera que el efecto sea mas suave, que aparezca y desaparezca lentamente, no se si me explico :P
  #4 (permalink)  
Antiguo 09/01/2015, 00:56
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Fade in Fade out - Boton "ir arriba"

Si vas a usar esto en navegadores modernos (básicamente en versiones de Internet Explorer 10 en adelante, porque con Chrome, Firefox y Opera, no hay tanto inconveniente ya que se actualizan constantemente), puedes utilizar las propiedades opacity y transition:

En la hoja de estilos:
Código CSS:
Ver original
  1. .ir_arriba{
  2.     transition: .25s;
  3. }

En el archivo JS:
Código Javascript:
Ver original
  1. window.addEventListener("scroll", function(){
  2.     var elemento = document.querySelector(".ir_arriba");
  3.     if (this.pageYOffset > 200){
  4.         elemento.style.opacity = 1;
  5.     }
  6.     else{
  7.         elemento.style.opacity = 0;
  8.     }
  9. }, false);

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 09/01/2015, 09:25
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 9 años, 5 meses
Puntos: 208
Respuesta: Fade in Fade out - Boton "ir arriba"

Habia probado con opacity pero estaba escribiendo mal el codigo, muchisimas gracias Ale funciona perfecto.

Saludos!

Etiquetas: boton, fade, js
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 17:34.