Promjena opacitya kada je element u viewportu

Bok,

igram se malo s javascriptom, i pokusavam elementu promjeniti opacity kada se nade u viewportu. Kada izade iz viewporta pa ponovno ude, animacija bi se trebala ponoviti.

Ovo je kod koji trenutno koristim:

<script>
;(function($, win) {
  $.fn.inViewport = function(cb) {
     return this.each(function(i,el) {
       function visPx(){
         var elH = $(el).outerHeight(),
             H = $(win).height(),
             r = el.getBoundingClientRect(), t=r.top, b=r.bottom;
         return cb.call(el, Math.max(0, t>0? Math.min(elH, H-t) : (b<H?b:H)));  
       }
       visPx();
       $(win).on("resize scroll", visPx);
     });
  };
}(jQuery, window));
</script>

<script>
    $(".bulb_img").inViewport(function(px){
        if(px) $(this).style.opacity = "0"; ;
    });
</script>

Ovaj kod ne radi, moze li mali savjet gdje da trazim gresku?

hvala!

  • probaj maknuti ‘;’

-isto tako probaj maknuti ‘;’

Ovo je ovako napamet.

Nazalost, nije do toga :frowning:

Probaj ovako nesto pod rjesenjem s preko 400 glasova: http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport