Estoy buscando una alternativa para cada función. ¿Se puede crear un bucle for en su lugar para seguir teniendo el mismo efecto?

  $(function() {
    $(window).scroll(function() {


      $('.fadeInBlock').each(function() {

        var bottom_of_object = $(this).position().top + $(this).outerHeight();
        var bottom_of_window = $(window).scrollTop() + $(window).height();

        /* Adjust the "200" to either have a delay or that the content starts fading a bit before you reach it  */
        bottom_of_window = bottom_of_window + 200;

        if (bottom_of_window > bottom_of_object) {

          $(this).animate({
            'opacity': '1'
          }, 1000);

        }
      });

    });
  });

La razón de esto es que hay un problema con el IDE reconociendo cada función. Gracias de antemano.

EDITAR: Es extraño porque este próximo lote de código funciona en el MISMO archivo EXACTO

$(function () {
    var text = $(".text");
    $(window).scroll(function () {
        var scroll = $(window).scrollTop();

        if (scroll >= 200) {
            text.removeClass("hidden");
        } else {
            text.addClass("hidden");
        }
        if (scroll + 250 > $('.homeIm2').offset().top) { // when the div with homeIm2 class scrolls into view
            text.hide();
        }
        if (scroll + 250 < $('.homeIm2').offset().top) { // when the div with homeIm2 class scrolls into view
            text.show();
        }


    });
});
2
Joelad 9 oct. 2019 a las 13:31

1 respuesta

La mejor respuesta

Esta podría ser una solución a lo que solicitó con for

$(function () {
  $(window).scroll(function () {
    AllClasses = $('.fadeInBlock')
    for(var i=0; i<AllClasses.length; i++){

      var bottom_of_object = $(AllClasses[i]).position().top + $(AllClasses[i]).outerHeight();
      var bottom_of_window = $(window).scrollTop() + $(window).height();

      /* Adjust the "200" to either have a delay or that the content starts fading a bit before you reach it  */
      bottom_of_window = bottom_of_window + 200;

      if (bottom_of_window > bottom_of_object) {

        $(AllClasses[i]).animate({
          'opacity': '1'
        }, 1000);

      }
    }
  });
});
3
Sundeep Pidugu 9 oct. 2019 a las 10:53