Javascript detectar el navegador vaya a la parte superior?

¿Cómo puedo modificar el código siguiente para detectar el desplazamiento a la parte superior de la página en su lugar.

window.onscroll = function(ev) {
    if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
        alert(bottom);
    }
};

EDICIÓN:

Estoy trabajando en IE 10 para Windows Phone 8 BTW

InformationsquelleAutor PutraKg | 2013-05-07

5 Kommentare

  1. 11

    Logrado averiguar. Aquí está mi código:

    window.onscroll = function() {
    
        var body = document.body; //IE 'quirks'
        var document = document.documentElement; //IE with doctype
        document = (document.clientHeight) ? document : body;
    
        if (document.scrollTop == 0) {
            alert("top");
        }        
    };

    Chek funcionando:

    JS:

    window.onscroll = function(ev)
    {
    	var B= document.body; //IE 'quirks'
            var D= document.documentElement; //IE with doctype
            D= (D.clientHeight)? D: B;
    	
    	if (D.scrollTop == 0)
    		{
    			alert("top");
    		}        
    };

    HTML:

    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>

    EXPLICACIÓN DE CÓMO ESTE CÓDIGO FUNCIONA:

    window.onscroll es el comando para asignar el evento onscroll a
    el window elemento.

    Ahora, como el onscroll evento se desencadena cuando un elemento de la barra de desplazamiento
    está siendo desplazado.
    , el elemento será el window sí mismo en este
    caso.

    Ahora, el function será llamado cuando se desencadena el evento.

    En la función, obtenemos el «documento.cuerpo» como en IE es el camino a
    lo consigue. Después de esto, tenemos el documentElement, si hay un doctype.

    Entonces, esta línea es la que se elige entre el documento o la
    el cuerpo si la document.clientHeight es informado. Si es informado, se
    va a poner el documento en la variable de documento. Si no, va a poner el cuerpo
    sí.
    Después de esto, se va a comprobar el scrollTop la propiedad con el fin de conocer
    si la posición de desplazamiento actual es «en la parte superior»

    • Alguien podría ser tan amable de explicar cómo este código funciona? Yo estoy luchando para entender… :/
    • ahí lo tienes 😉
  2. 4

    window.scrollY no es cross-browser según MDN. En IE,<9 usted debe comprobar document.body.scrollTop, como ninguna propiedad de window le dará la posición de desplazamiento actual. En realidad, document.body.scrollTop es lo que uso con más frecuencia, ya que en mi experiencia funciona.

    • Lo siento, no estoy muy familiarizado con javascript. La siguiente no funciona window.onscroll = function(ev) { if ((document.body.scrollTop == 0) { alert("top"); } }; jsfiddle.net/4gXN2/17
    • Usted tiene una sintaxis (extra entre paréntesis) detener la ejecución, pruebe esta versión actualizada: jsfiddle.net/4gXN2/18
  3. 1

    La mejor manera de hacer esto con sólo JS es el siguiente ejemplo añadir un detector de eventos:

    var el = document.getElementById('PUT_YOUR_TOP_ELEMENT_ID_HERE');
    el.addEventListener('scroll', function(event) {
        if (event.target.scrollTop === 0) {
            alert('Top of page detected');
        }
    }, false);

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea