Lo que busco es sencillo:
Si no esta en el top que aparezca el boton de "subir". Y cuando lo este que desaparezca.
| |||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top |
| |||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top ok, gracias. Lo encontré, gracias, es asi: Cita: Ahora me ha surgido otro problema. Antes, de tener puesta esta funcion, tenia puesto con CSS que si hacia hover en el boton cambiaba la opacidad a 1. Y ahora no funciona eso, al hacer hover no cambia la opacidad (otras propiedades si que los cambia). $(window).scroll(function(){ if(isScrollBottom()){ $("#botonsubir").css({opacity:0.3}); } else { $("#botonsubir").css({opacity:0}); } }); function isScrollBottom() { var scrollPosition = $(window).height() + $(window).scrollTop(); return (1500 < scrollPosition); } Última edición por congrio7; 08/07/2012 a las 05:41 |
| |||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top Sí. Esos son los problemas de usar código ajeno. Y más de usarlo sin entender cómo funcionan. Probablemente sea fácil de arreglar, pero lo cierto es que si no tienes cargada la "librería" desde antes para alguna otra cosa, usar jquery para saber la posición del escroll es un despropósito. Se puede hacer perfectamente con JS. Y le das el alcance que quieras, como para que apoye o no interfiera con el CSS.
Código:
Este ejemplo está sólo a modo de muestra. Creo que no anda en IE, y el método del ancla para subir la página no es de lo más moderno. Pero insisto, es un ejemplo para mostrar lo ridículo que es meter un yaicuery para algo tan elemental. Los valores se los cambias a tu gusto.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <html> <head> <meta http-equiv=Content-Type content="text/html; charset=utf-8"> <script type="text/javascript"> var altura; onload = function(){ altura = document.body.clientHeight-window.innerHeight; } onscroll = function(){ var despl=self.pageYOffset || (document.documentElement.scrollTop + document.body.scrollTop); document.title = despl+" "+altura; if(despl + 50 > altura){ //se puede jugar con el 50 document.getElementById("boton").style.visibility = "visible"; document.body.style.backgroundColor = "lime";} else { document.getElementById("boton").style.visibility = "hidden"; document.body.style.backgroundColor = "white";} } </script> <style type="text/css"> #boton {margin-top: 2000px; margin-bottom: 100px; background-color: yellow; display: inline-block; opacity: .5; } #boton:hover {opacity: 1;} </style> </head> <body> <div name="marca" id="marca">INICIO </div> <br> <a href="#marca" id="boton">ARRIBA ↑</a> </body> </html> Aunque pensándolo un poco, es raro que te inhabilite el hover. ¿No habrá otro error en alguna parte?. |
| ||||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top Hay algo de esta historia que no me cierra. La página en cuestión, cambia el alto de su contenido en forma dinámica?, es decir, puede que se agreguen elementos que la lleven de no tener a tener scroll? Si este no es el caso, no tiene mucha gracia, Dicho esto, oportuna la apreciación de @furoya. Con su aporte(lo hice algo más compatible) más lo que propongo, y si de no usar Jquery se trata, les dejo esto
Código HTML:
Ver original Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| ||||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top Sólo una acotación, si no necesitamos retrocompatibilidad con explorer 6 (ciertamente, ya basta de Explorer 6!), para obtener las medidas del viewport no necesitamos tanto código. Un ejemplo con el alto del viewport válido en Explorer 7,8,9, en Ópera, Firefox, Chrome y Safari: Código PHP:
__________________ Fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications |
| |||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top Cita: Un lujo que se desplace lentamente. Aunque en Chrome no me anda.Y lo de no usar yaicuery es obvio. Para esto ni se justifica. Cita: Lo de IE6 hay bastante gente que lo está reclamando en varios temas. Qué sé yo, puede que para alguien sea necesario. Recordemos que IExplorer no es un producto como los otros navegadores, y no siempre es posible actualizarlo. De hecho, la última versión no se puede instalar en un XP. Y ya sabemos que hay un montón de máquinas que aún usan XP.
Iniciado por Panino5001 Sólo una acotación, si no necesitamos retrocompatibilidad con explorer 6 (ciertamente, ya basta de Explorer 6!), para obtener las medidas del viewport no necesitamos tanto código. Un ejemplo con el alto del viewport válido en Explorer 7,8,9, en Ópera, Firefox, Chrome y Safari De todas formas, si me agarran de buen humor puede que algún ejemplo lo haga compatible, de otra forma, que lo adapte quien lo necesita. (En la mayoría de los casos, le pagan para eso. ) El clientHeight no me anda en FF, Op y Chr. En IE no lo probé, pero recuerdo que hace lo mismo : me toma la altura del alto visible, el del panel para el documento, no la altura del documento completa. congrio7 necesita eso para saber cuándo llega al final. Cita: Como en este tema participan un par de amigos, no lo quiero arruinar; pero no sabes las ganas que tengo de mencionarte unas cuantas cosas.Vamos a respirar hondo, decir oommmm, y seguimos. ¿Te das cuenta de que tu problema no es el hover, sino la animación CSS, verdad? ¿Y de que esa animación necesita valores explícitos para hacer los cálculos de transición? ... ¿Y de que le estás pisando esos valores con el javascript? ¿Eh? Que le des opacidad en el JS no tiene sentido. Lo que te interesa es que cuando el escrol llegue a cierto punto, el botón aparezca. Y eso se hace con visibility, que ya no arruina los cálculos del CSS-Script. Justo hace unas horas puse un ejemplo sobre eso. Y una forma ... incalificable de hacer las combinaciones dinámicas entre ambos métodos. Porque seamos realistas : o uno, o el otro. Si CSS no permite (aún) medir elementos de la página y aprovechar esos valores, toda la animación se hace a javascript. Que para eso sirve. Cómo calculo height de un div y se lo pongo al css? P.D.: y lo de "totop" me genera cierto escozor. ¿Qué el Foro no enmascaraba este tipo de palabras? |
| ||||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top Cita: Justamente me refiero a esa altura cuando hablo de viewport: la de la porción visible de la página. ¿Eso es lo que ves en todos los navegadores modernos, no?El clientHeight no me anda en FF, Op y Chr. En IE no lo probé, pero recuerdo que hace lo mismo : me toma la altura del alto visible, el del panel para el documento, no la altura del documento completa Normalmente es lo que se usa en los scripts de paginación infinita (esos que muestran nuevos resultados cuando uno mueve el scroll hacia abajo y supera ese tope)
__________________ Fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications Última edición por Panino5001; 09/07/2012 a las 10:47 |
| ||||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top @furoya Cita: Si ya había tomado nota, de ahí que había mencionadoAunque en Chrome no me anda. Cita: pero no del todo....lo hice algo más compatible Los WebKit tienen un mambo con el scroollTop Working in progress... Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| |||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top Cita: Odio la paginación infinita.
Iniciado por Panino5001 Normalmente es lo que se usa en los scripts de paginación infinita (esos que muestran nuevos resultados cuando uno mueve el scroll hacia abajo y supera ese tope) En realidad, lo que odio es no saber dónde termina la página. En una común y corriente, con una mirada al gráfico proporcional de las scrollbars ya sé por qué parte del documento estoy. Pero tengo que admitir que es un buen invento. Ahora recuerdo que yo también tuve problemas con un navegador, y creo que fue Chrome. No me estoy seguro si al final terminé moviendo el margen de una capa, o algo parecido. De cualquier forma, vuelvo para hacer un comentario sobre algo que recién descubro congrio7, te pidieron que reportaras el tema, no que lo duplicaras como detectar que el scroll del navegador está en el top (o casi en el top) |
| |||
Respuesta: como detectar que el scroll del navegador está en el top (o casi en el top Cita: funciona, muchas gracias. Lo que me gustaria ahora es que ese visibility fuese gradual, que no aparezca de golpe.
Iniciado por furoya ... ¿Y de que le estás pisando esos valores con el javascript? ¿Eh? Que le des opacidad en el JS no tiene sentido. Lo que te interesa es que cuando el escrol llegue a cierto punto, el botón aparezca. Y eso se hace con visibility, que ya no arruina los cálculos del CSS-Script. Justo hace unas horas puse un ejemplo sobre eso. Y una forma ... incalificable de hacer las combinaciones dinámicas entre ambos métodos. Porque seamos realistas : o uno, o el otro. Si CSS no permite (aún) medir elementos de la página y aprovechar esos valores, toda la animación se hace a javascript. Que para eso sirve. Cómo calculo height de un div y se lo pongo al css? P.D.: y lo de "totop" me genera cierto escozor. ¿Qué el Foro no enmascaraba este tipo de palabras? |
Etiquetas: |