Impossible d'obtenir jQuery Maçonnerie + infini Faites défiler le travail dans Safari et Chrome

StackOverflow https://stackoverflow.com/questions/5324437

Question

Salut, je suis en train d'installer un site en utilisant jQuery défilement maçonnerie et infini, mais je ne arrive pas à le faire travailler dans Chrome ou Safari sur Mac OS X.

Le site Dev est http://bit.ly/hYJ3Cq

Je ne reçois pas des erreurs javascript dans la console.

Ce que j'ai essayé:

  • Réglage largeur / hauteur d'image dans les divs de maçonnerie
  • en utilisant la bibliothèque jquery ancien
  • déplacement js à la tête au lieu de pied de page
  • ajouter type = "text / javascript" aux balises de script
  • html validation
  • changer entre jQuery (fenêtre) .load (et jQuery (document) .ready (

Voici le code, je travaille avec ce qui est très similaire au code de démonstration qui fonctionne très bien:

    jQuery(window).load(function(){

    jQuery('.hfeed').masonry({
        singleMode: true, 
        itemSelector: '.box'
    });

    jQuery('.hfeed').infinitescroll({
      navSelector  : '.pagination',  // selector for the paged navigation 
      nextSelector : '.pagination .next',  // selector for the NEXT link (to page 2)
      itemSelector : '.box',     // selector for all items you'll retrieve
      loadingImg : '/wp-content/themes/sprppl/images/loader.gif',
      loadingText  : "Loading...",
      donetext  : 'No more pages to load.',
      debug: false,
      errorCallback: function() { jQuery('#infscr-loading').animate({opacity: .8},2000).fadeOut('normal');   }
      },
      // call masonry as a callback
      function( newElements ) { jQuery(this).masonry({ appendedContent: jQuery( newElements ) }); }
    );      

    });

Toute aide serait grandement appréciée.

Était-ce utile?

La solution

http://desandro.com/demo/masonry/docs/infinite- scroll.html

Regardez le "Tumblr Edition". Vous devez définir les balises de taille d'image (dans le <img/> pas <div/>) ou utilisez un setTimeout ()

// call masonry as a callback, after 1000 milliseconds
function( newElements ) {
  setTimeout(function() {
    $wall.masonry({ appendedContent: $(newElements) });
  }, 1000);
}

aussi vous devez définir un columnWidth, je suppose (je ne sais pas le script, mais c'est ce qu'ils disent dans la documentation)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top