Бесконечная прокрутка в квадрате получить фильтр категорий

Я использую этот код для бесконечной загрузки страницы в квадратном пространстве. Моя проблема в том, что перезагрузка не захватывает фильтрацию, которую я настроил в своем URL. Кажется, он не видит переменные или даже url или categoryFilter в моей коллекции. Я пытался использовать директиву.var, но лениво загруженные элементы не могут видеть объем вещей, определенных до него. У меня заканчиваются идеи, пожалуйста, помогите!

редактировать: с тех пор я нашел ответ, но получил другой вопрос.

Я смог использовать window.location.href вместо window.location.pathname, чтобы в итоге получить параметры таким способом. За исключением того, что это не работает в IE11, так что теперь я должен искать это.

 <script>

 function infiniteScroll(parent, post) {

     // Set some variables. We'll use all these later.
     var postIndex = 1,
         execute = true,
         stuffBottom = Y.one(parent).get('clientHeight') + Y.one(parent).getY(),
         urlQuery = window.location.pathname,
         postNumber = Static.SQUARESPACE_CONTEXT.collection.itemCount,
         presentNumber = Y.all(post).size();

     Y.on('scroll', function() {

         if (presentNumber >= postNumber && execute === true) {
             Y.one(parent).append('<h1>There are no more posts.</h1>')
             execute = false;
         } else {

             // A few more variables.
             var spaceHeight = document.documentElement.clientHeight + window.scrollY,
             next = false;

             /*
                 This if statement measures if the distance from
                 the top of the page to the bottom of the content
                 is less than the scrollY position. If it is,
                 it's sets next to true.
             */
             if (stuffBottom < spaceHeight && execute === true) {
                 next = true;
             }

             if (next === true) {

                 /*
                     Immediately set execute back to false.
                     This prevents the scroll listener from
                     firing too often.
                 */
                 execute = false;

                 // Increment the post index.
                 postIndex++;

                 // Make the Ajax request.
                 Y.io(urlQuery + '?page=' + postIndex, {
                     on: {
                         success: function (x, o) {
                             try {
                                 d = Y.DOM.create(o.responseText);
                             } catch (e) {
                                 console.log("JSON Parse failed!");
                                 return;
                             }

                             // Append the contents of the next page to this page.
                             Y.one(parent).append(Y.Selector.query(parent, d, true).innerHTML);

                             // Reset some variables.
                             stuffBottom = Y.one(parent).get('clientHeight') + Y.one(parent).getY();
                             presentNumber = Y.all(post).size();
                             execute = true;

                         }
                     }
                 });
             }
         }
     });
 }

 // Call the function on domready.
 Y.use('node', function() {
     Y.on('domready', function() {
         infiniteScroll('#content','.lazy-post');
     });
 });


 </script>

1 ответ

Я смог заставить этот скрипт работать так, как я хотел.

Я думал, что мог бы использовать:

Static.SQUARESPACE_CONTEXT.collection.itemCount

чтобы получить {collection.categoryFilter} как с jsont, вот так:

Static.SQUARESPACE_CONTEXT.collection.categoryFilter

или это:

Static.SQUARESPACE_CONTEXT.categoryFilter

Это не сработало, поэтому я изменил

urlQuery = window.location.pathname

в

urlQuery = window.location.href

который дал мне параметры, которые мне нужны.

Проблема IE11, с которой я столкнулся, была

window.scrollY

Я изменил его на ie11 совместимый

Window.pageYOffset

и нам было хорошо идти!

Другие вопросы по тегам