Custom infinite scrolling with items being removed while being scrolled out of view
Asked Answered
P

1

7

The problem

Today's modern websites may use infinite scrolling technique to replace paged lists to make a more seamless experience to their users.

This is all nice and dandy as long as users don't scroll to far down which means that your document becomes very complex with huge amounts of DOM nodes. There are of course ways to mitigate this problem (i.e. replacing over-top overflowed scrolled elements with a single DIV of appropriate height for example), but they're either complex to implement and they still have their flaws.

The idea

I was thinking if anyone has already seen an implementation where items, that get scrolled out (top or bottom) somehow become smaller and fainter until they disappear and get replaced by its adjacent item.

I'm thinking of a mix of experience of:

  • scrolling
  • fading
  • scaling

Fading and scaling can be seen on Medium.com when you get to the bottom of any article and you click the next recommended one displayed below (click the title). When you do click and if you pay attention you can see the effect of original article disappearing while being replaced by an up-sliding new article. Content scrolling could be done in this way and infinite scrolling would be much smoother and less resource consuming as elements would get replaced on the fly and in-place.

Number of simultaneously displayed items of course depends on items' size. In case of Medium-line articles it would likely be one article that would also scroll until you'd scroll it to the very bottom (or top). In case of posts like Facebook, it would be many more items simultaneously as they don't take as much vertical space.

Coverflow works in somewhat similar way as it displays middle content completely and rest is either hidden or scaled/transformed.

The question

Has anybody seen such an implementation on the web? If done properly it would actually make a much nicer infinite scrolling experience without hogging our browsers.

But to make my question more clear and non-debatable. Can you provide a working (albeit simplified) example of such experience?

Requirements:

  • when an item gets scrolled out it disappears (using fade/scale/both)
  • when items appear at the bottom (or top when scrolled up) they should display in the opposite to scrolled out items
  • pressing usual scrolling buttons Home, End, Page Up, Page Down and Space should work.
  • invisible items should be removed from DOM
  • scrolling should somehow be available using some sort of scrollbar as well
Puente answered 22/1, 2014 at 23:38 Comment(4)
I don't know if this is exactly what you are looking for, but there is a plugin for Reddit that allows for an infinite scrolling experience that they call "never ending reddit". You can find it at redditenhancementsuite.comStealer
@JustinLoveless: Where can I see this either on reddit or as a demo?Puente
If you install the plugin into your browser (I use chrome), then just go to www.reddit.com. As you scroll down the page, it continuously loads the next page. There is a slight pause while it loads at times, but it seems pretty light weight and my browser does not seem to be taking up too many resources even when navigating pretty far down.Stealer
@JustinLoveless: No no. This Reddit extension is nothing else but a usual infinite scrolling that just appends elements to document. This is the usual way that we can see everywhere (Google+, Facebook, etc.). This doesn't remove items at the top while we scroll down to keep DOM light and small.Puente
S
0

I think I might have found what you were looking for.

http://engineering.linkedin.com/linkedin-ipad-5-techniques-smooth-infinite-scrolling-html5

Stealer answered 4/2, 2014 at 20:41 Comment(1)
Well not exactly. Techniques used in this post are those that I'd like to employ to keep things snappy on any device. But the way that this list gets displayed is something relatively unique as I've imagined it. Scroll to medium.com, click first article, scroll to the bottom of the page and click on the title of the next article and observe the visual effect when original article disappears and is being replaced by the new one. That's the effect that I'm after but with a page full of lower than full page items so there are several displayed at once.Puente

© 2022 - 2024 — McMap. All rights reserved.