Cerrar Ventana

Algunas cookies de este sitio son esenciales, y el sitio no funcionará como se espera sin ellas. Estas cookies se establecen en el momento de enviar un formulario, inicie sesión o interactuar con el sitio realizando una acción que va más allá de hacer clic en un simple enlace.


Leer Más

Somos un foro de soporte en español que no tiene publicidad y tiene muchas cosas gratuitas aportadas por la comunidad, contribuye con el foro para poder así obtener alguna membresía de manera gratuita.
SoporteMyBB tiene un total de
1124 temas de soporte.
0 quedan aún por resolver, 244 han quedado obsoletos y 880 han sido resueltos.
Aún no tienes una cuenta, regístrate es gratis.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[Tutorial] Scroll to top
 eNvy
Usuario del Foro
eNvy
Estado: Sin conexión Registrados
36
252
180
Argentina
0
2
180
54
19 August 2014, 14:26
#1
2
Bueno, ésta es una variante del famoso Scroll to top o Ir hacia arriba o Ir al cielo, como deseen llamarlo.

Es un código muy simple, lo único molesto es estilizarlo, pero para eso les dejo un lindo código que ya he utilizado.

Bien, comencemos...

jQuery

En nuestra plantilla headerinclude, añadiremos el siguiente código (Recuerda que debes, anteriormente, hacer una llamada a la librería de jQuery)

<script type="text/javascript">
jQuery(document).ready(function() {
    var 
offset 220
    var 
duration 500;
    
jQuery(window).scroll(function() {
        if (
jQuery(this).scrollTop() > offset) {
            
jQuery('.nicetop').fadeIn(duration);
        } else {
            
jQuery('.nicetop').fadeOut(duration);
        }
    });
    
    
jQuery('.nicetop').click(function(event) {
        
event.preventDefault();
        
jQuery('html, body').animate({scrollTop0}, 1200);
        return 
false;
    })
});
</
script

Aquí hay 3 cosas por resaltar.

Primero la variable offset la cual mide el espacio recorrido por el navegador para mostrar el botón, más cantidad añadan, más demorará en aparecer dicho botón; menos cantidad, menos tiempo para que aparezca.

Luego tenemos la variable duration la cual mide el tiempo en aparecer y desaparecer del botón (el efecto), más tiempo, más demora, menos tiempo, menos demora.

Por último, en la siguiente línea:

Cita:jQuery('html, body').animate({scrollTop: 0}, 1200);

El número 1200 representa la velocidad con la que el contenido (en nuestro caso, el body) se desplazará. 1200 es un buen número a mi gusto, pero ustedes pueden modificarlo para que sea más rápido o más leve según crean necesario.

HTML

Dentro de la misma plantilla headerinclude, antes de la variable {$newpmmsg} añadiremos el siguiente código:

<div class="nicetop" title="{$lang->bottomlinks_returntop}">Su ícono o texto</div

Simplemente deben reemplazar la leyenda Su ícono o texto por lo que deseen, yo particularmente utilizo Font Awesome Icons ya que son muy livianos y al ser fuentes, brindan una cantidad de funciones increíbles, pero queda a su gusto utilizar imágenes o simplemente texto.

CSS

Lo "molesto" es acomodar dicho botoncito, pero ya lo he hecho, pueden revisar el código ustedes mismos:

Cita:.nicetop {
cursor: pointer;
background: rgba(48,48,48,0.5);
padding: 12px 15px;
border-radius: 2px;
-o-border-radius: 2px;
-ms-border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
position: fixed;
bottom: 2em;
right: 0px;
text-decoration: none;
color: #C9C9C9;
display: none;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
}

.nicetop:hover {
cursor: pointer;
background: rgba(58,58,58,0.7);
color: #FFFFFF;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
}

Modificando los valores de bottom y right pueden desplazarlo hasta donde ustedes deseen, en mi caso lo coloque justo pegadito a la barra de desplazamiento, bastante por debajo de la vista del usuario para que no moleste, y además de ésto, tiene un fondo transparente (Por si utilizan imágenes y desean que resalte dicho fondo).

Recuerden que el botón aparecerá solo cuando cierto espacio es recorrido, dicho espacio se puede modificar (anteriormente ya explicado) en el código jQuery.
Última modificación: 19 August 2014, 14:28 por eNvy.
 
 Vicen
Usuario del Foro

Estado: Sin conexión Registrados
6
93
17
Spain
0
0
17
13
19 August 2014, 15:16
#2
0
Muy buen tutorial a más de uno les será de utilidad esto, básicamente la mayoría de los sitios suelen aplicarlo y aún más en foros.
 
 BitLiberal
Usuarios
BitLiberal
Estado:
 
0
0
0
0
19 August 2014, 15:25
#3
0
Muchas gracias por el tutorial @ eNvy.

Quizas mas tarde pondre una forma de hacer que ese boton (el que lleva a top) sea invisible hasta que haga scroll.
 
 eNvy
Usuario del Foro
eNvy
Estado: Sin conexión Registrados
36
252
180
Argentina
0
2
180
54
19 August 2014, 16:17
#4
0
Es invisible actualmente, sólo aparece cuando se alcanza la cantidad especificada en el offset, fíjate que en la clase .nicetop tiene la propiedad display: none; para que sea invisible hasta que necesite aparecer y hacer lo suyo Lengua.
 
 BitLiberal
Usuarios
BitLiberal
Estado:
 
0
0
0
0
19 August 2014, 18:06
#5
0
(19 August 2014, 16:17 )eNvy escribió: Registrate o inicia tu sesión para ver este contenidoEs invisible actualmente, sólo aparece cuando se alcanza la cantidad especificada en el offset, fíjate que en la clase .nicetop tiene la propiedad display: none; para que sea invisible hasta que necesite aparecer y hacer lo suyo Lengua.

No me habia fijado, muy util. En cuanto tenga tiempo lo pondre aqui. Guiño
 
 Jean Pierre
High Hopes

Estado: Sin conexión Registrados
24
291
112
Peru
0
0
112
22
21 August 2014, 23:00
#6
0
La mayoría de webs actualmente usan este script, es muy bueno, generalmetne lo suelen poner al lado derecho inferior, cuando se baja a cierto nivel el scroll se hace visible, cuando la página retorna a la parte superior ya no se muestra, y estas apariciones se logran con un efecto de fadeIn y fadeOut, muy elegante diría yo; sin embargo, para colocar un elemento que retorne al inicio de la página, ya sea en el footer de un foro MyBB basta con el script simple que aparece al final.

Buen tutorial
Sonrisa
 




Usuarios navegando en este tema: 1 invitado(s)