Instead of loading next pages on scroll you can use a trigger. A trigger is a link or button that has to be clicked before the next page is loaded.
Reasons for a trigger might be:
- To make the footer reachable.
- To ease the load on the server. Users have to click before loading the next page. This adds a natural delay.
First add a button to your document
<button class="load-more">Load More</button>
Next add a bit of CSS to make it look nice and hide if from view (opacity 0)
.load-more {
display: inline-block;
height: 32px;
padding: 0 16px;
border: 1px solid #aaa;
border-radius: 4px;
opacity: 0;
font-family: Lucida Grande,Lucida Sans Unicode,Lucida Sans,Geneva,Arial,sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 30px;
color: #555;
background-color: #fff;
cursor: pointer;
transition: opacity .4s;
}
.load-more:hover {
color: #F63840;
border: solid 1px #F63840;
}
Next configure the trigger.
let ias = new InfiniteAjaxScroll(/*..*/, {
// other options here
trigger: '.load-more'
});
See trigger options for information.