left example ejemplos animate jquery css animation sliding

ejemplos - slide left jquery example



Si el elemento está en la ventana de visualización stop-scroll (1)

Hola, seguí un tutorial: http://css-tricks.com/slide-in-as-you-scroll-down-boxes/

Está funcionando bien, sin embargo, cuando un elemento ya está en la ventana gráfica (como si el navegador es pequeño y la página está cargada), entonces jQuery no agrega la CLASE a la transición hasta DESPUÉS de desplazarse.

¿Hay alguna manera de verificar si un elemento ya está en la ventana gráfica al cargar y luego agregar una clase de ''ya visto''?


Tratar

var viewed = Array.prototype.map.call(document.querySelectorAll("body *") , function (el, i) { return (el.getBoundingClientRect().bottom <= window.innerHeight && el.getBoundingClientRect().left <= window.innerWidth) && $(el).addClass("already-viewed") && el }).filter(Boolean);

$(document).ready(function () { var body = $("body"); $.each(new Array(180), function () { body.append( $("<img>")) }); var viewed = Array.prototype.map.call(document.querySelectorAll("body *"), function (el, i) { return (el.getBoundingClientRect().bottom <= window.innerHeight && el.getBoundingClientRect().left <= window.innerWidth) && $(el).addClass("already-viewed") && el }).filter(Boolean); body .append("total images: " + $("img").length + ", already viewed: " + $(".already-viewed").length); console.log(viewed.length, $(viewed)) });

body { width : 1000px; height : 1000px; } img { width : 50px; height : 50px; background : navy; } .already-viewed { outline:0.15em solid red; }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>