Ich kann JQuery Masonry + Infinite Scroll nicht dazu bringen, in Safari und Chrome zu arbeiten

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

Frage

Hallo, ich versuche, eine Site mit Jquery -Mauerwerk und unendlicher Schriftrolle einzurichten, aber ich kann es einfach nicht dazu bringen, in Chrome oder Safari unter OSX zu arbeiten.

Die Entwicklerseite ist http://bit.ly/hyj3cq

Ich bekomme keine JavaScript -Fehler in der Konsole.

Dinge, die ich ausprobiert habe:

  • Bildbreite/Höhe innerhalb der Mauerwerksdivs einstellen
  • Verwenden der älteren JQuery -Bibliothek
  • Js zu Kopf anstelle von Fußzeile bewegen
  • Hinzufügen von Typ = "Text/JavaScript" zu den Skript -Tags
  • Validierung von HTML
  • Wechseln zwischen JQuery (Fenster) .load (und jQuery (Dokument) .ready (

Dies ist der Code, mit dem ich arbeite, der dem Demo -Code, der gut funktioniert, sehr ähnlich ist:

    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 ) }); }
    );      

    });

Jede Hilfe wäre sehr geschätzt.

War es hilfreich?

Lösung

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

Schauen Sie sich das "Tumblr -Problem" an. Sie sollten die Bildgrößen -Tags festlegen (in der <img/> nicht der <div/>) oder verwenden Sie einen SetTimeout ()

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

Sie sollten auch eine Spaltenbreite festlegen, denke ich (ich kenne das Skript nicht, aber das sagen sie in der Dokumentation)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top