Lazy Load + Isotope

J'ai passé beaucoup de temps à essayer d'obtenir des isotopes et le chargement paresseux à travailler ensemble.

La question: paresseux des travaux de chargement si l'utilisateur fait défiler vers le bas, cependant, si l'utilisateur utilise les filtres, les objets sur le dessus, mais les images ne se chargent pas.

Ici est quelqu'un avec le même problème, mais il semble qu'il fixe. J'ai essayé plusieurs choses mais encore ne pourrais pas le faire fonctionner.

Voici les discussions https://github.com/tuupola/jquery_lazyload/issues/51

Merci beaucoup pour votre aide

Le code que j'utilise est comme suit.

jQuery(document).ready(function($) {
    $('#big_container .media_block img').each(function(index) {
        var item_height = $(this).attr("height");
        $(this).parent().parent().css("height",item_height);
    });
    $('#big_container').isotope({
    itemSelector : '.item',
    layoutMode : 'masonry',
    masonry: {
        columnWidth: 5,
    },
    sortBy : 'date',
    sortAscending : false,
    getSortData : {
        date : function ( $elem ) {
            return $elem.find('.date').text(); //Date format should be [Y-m-d H:i]
        },
        views : function( $elem ) {
            return parseInt( $elem.attr('data-views'), 10 );
          },
        //featured : function ( $elem ) {
        //return $elem.attr('data-featured');
        // },
        rates : function( $elem ) {
            return parseInt( $elem.attr('data-rates'), 10 );
          },
        comments : function( $elem ) {
            return parseInt( $elem.attr('data-comments'), 10 );
          }
    }

    });

    $('#sort-by li a').click(function(){
        var $this = $(this);
        if ($(this).parent().hasClass('selected') ) {
          return false;
        }
        var $optionSet = $this.parents();
        $optionSet.find('.selected').removeClass('selected');
           $this.addClass('selected');
          var sortName = $(this).attr('href').slice(1);
          $('#big_container').isotope({ sortBy : sortName });
          return false;
    });
});
Comme dans votre même question hier, il est difficile de voler en aveugle pour fournir un travail de répondre sans être capable de voir les devtools comment les choses se comporter. Mettre en place un jsfiddle ou un lien vers votre bac à sable en ligne.

OriginalL'auteur J.D | 2012-10-01