As an optional add on, I told students they could add infinite scrolling, pagination, or load more buttons to their index page. I've seen one student work on implementing pagination so far. Most of them skip the add on. Django has an inbuilt paginator class which I hope to try using on my pet project one day soon. Today, however, a student wanted to use a load more button but was struggling to get it to work. I've briefly looked into it in the past and I knew it involved Javascript, but that was about the extent of my knowledge.
I pulled his branch and ran the project. First, I opened up chrome developer tools and I saw a few errors were showing up in the console. And they pointed to the Javascript. Turns out he was using jQuery, but had not included it from a CDN or downloaded it. First problem discovered. Off to a good start.
Next, errors were no longer showing up but nothing was working. All items were visible on the page, which means a) there wasn't need for a "load more" button because b) nothing was hidden and needed to be loaded. This was obviously not what he wanted. He was using the following code from this codepen and it looked like it was time for me to go line by line to figure out what the problem was.
The first line says to show the first 4 <div> but wait! Everything was already visible! So it turns out that jQuery needed to be used in conjunction with some CSS. He needed to use the property display:none and apply it to the elements so that everything was hidden. jQuery was then responsible for showing those elements bit by bit, whenever the "load more" button was clicked.
I'm not particularly strong at Javascript, but it certainly felt good to figure this out. Hooray for small victories! :)
Comments
Post a Comment