Вручную загрузите больше элементов с помощью Waypoints Infinite Scroll

Я использую Waypoints Infinite Scroll и хочу сделать кнопку «Загрузить больше элементов» или «Загрузить больше сообщений».

Я пытался использовать «уничтожить» таким образом, но, похоже, это не сработало.

    $('.load-more-button').click(function(){

        var infinite = new Waypoint.Infinite({
            element: $('.infinite-container')[0],
            onAfterPageLoad: function() {
                $('.infinite-container').waypoint('destroy')
            }
        })

    });

Действительно застрял здесь, спасибо за любую помощь!


person Flax    schedule 05.10.2015    source источник
comment
вызывая var infinite = new Waypoint.Infinite(), вы создаете его экземпляр. Что именно вы хотите сделать? извините, но я не понимаю ваш вопрос.   -  person vijayP    schedule 05.10.2015
comment
Я просто хочу иметь кнопку «Загрузить больше», вместо того, чтобы элементы загружались автоматически. Вот так: [ссылка] (jsfiddle.net/purmou/bEdfX)   -  person Flax    schedule 05.10.2015


Ответы (3)


Я знаю, что это было задано 4 года назад, но я думаю, что у нас один и тот же вопрос. Я пытался заставить кнопку вызывать то же событие, что и прокрутка. Я мог бы сделать это с помощью этого кода:

// Initializing Waypoint Infinite
var infinite = new Waypoint.Infinite({
    element: $('.infinite-container')[0]
});

// Listen for the click on the button, and then trigger the event
$('.infinite-more-link').on('click', function(e) {
    e.preventDefault();
    infinite.waypoint.trigger();
});
person Laura    schedule 25.11.2019

Попробуйте со следующим кодом:

$('.load-more-button').click(function(){
    $(".infinite-more-link").click(); //Infinite Scroll create a <a> element with "infinite-more-link" class by default for More link.
});
person vijayP    schedule 05.10.2015
comment
Извините, кажется, я забыл упомянуть, что хочу щелкнуть, загрузить некоторые элементы и остановиться. И нажмите еще раз, чтобы увидеть больше элементов… - person Flax; 05.10.2015

Интересно, что вы хотите убрать половину того, что делает Infinite, и вы можете просто написать загрузку AJAX + добавить себя по клику, вообще не используя Waypoints. Но если вы настаиваете:

$('.infinite-container').waypoint('destroy')

Это старый код в стиле Waypoints 2.x. Destroy и другие методы больше не являются частью плагина jQuery. Вам нужно использовать экземпляр Waypoint, который вы создали:

infinite.destroy()
person imakewebthings    schedule 04.03.2016