Не могу получить JQUERY Masonry + Infinite Scrolk для работы в Safari и Chrome

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

Вопрос

Привет, я пытаюсь настроить сайт с использованием каменной кладки jQuery и Infinite Scrill, но я просто не могу заставить его работать в Chrome или Safari на OSX.

Сайт разработчика http://bit.ly/hyj3cq

Я не получаю никаких ошибок JavaScript в консоли.

Вещи, которые я пробовал:

  • Установка ширины изображения/высота в каменной кладке
  • Использование старой библиотеки JQUERY
  • Перемещение JS на голову вместо нижнего колонтитула
  • Добавление type = "text/javascript" в теги скрипта
  • Утверждение HTML
  • изменение между jquery (window) .load (и jQuery (Document) .Ready (

Это код, с которым я работаю, который очень похож на демонстрационный код, который работает нормально:

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

    });

Любая помощь будет высоко оценена.

Это было полезно?

Решение

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

Посмотрите на «проблему Tumblr». Вы должны установить теги размера изображения (в <img/> не <div/>) или использовать settimeout ()

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

Также вы должны установить, я думаю, вы должны установить (я не знаю сценарий, но это то, что они говорят в документации)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top