A pure JavaScript basic implementation of infinite scrolling.
Forked from Wryte's Pen Infinite Scroll.
<ul id='infinite-list'> | |
</ul> |
var listElm = document.querySelector('#infinite-list'); | |
// Add 20 items. | |
var nextItem = 1; | |
var loadMore = function() { | |
for (var i = 0; i < 20; i++) { | |
var item = document.createElement('li'); | |
item.innerText = 'Item ' + nextItem++; | |
listElm.appendChild(item); | |
} | |
} | |
// Detect when scrolled to bottom. | |
listElm.addEventListener('scroll', function() { | |
if (listElm.scrollTop + listElm.clientHeight >= listElm.scrollHeight) { | |
loadMore(); | |
} | |
}); | |
// Initially load some items. | |
loadMore(); |
#infinite-list { | |
/* We need to limit the height and show a scrollbar */ | |
width: 200px; | |
height: 300px; | |
overflow: auto; | |
/* Optional, only to check that it works with margin/padding */ | |
margin: 30px; | |
padding: 20px; | |
border: 10px solid black; | |
} | |
/* Optional eye candy below: */ | |
li { | |
padding: 10px; | |
list-style-type: none; | |
} | |
li:hover { | |
background: #ccc; | |
} |