In the page about the intersection observer API, there is an example of callback function taking a second parameter observer (under the “Handling intersection changes” section):
i did not dive in the intersection observer api but i guess the observer here is the observer object that observe it and get triggered
like when you use event in the event handler function sometime you need to get the event.target to know which trigger that event
so in observer maybe you have some common between some observer so you have one method handle them and depend on the observer you just check which one and do the modifications
so to make sure that is the case try to create 2 observer and use the console.log to monitor if that the case or not
hope that help and have a nice day
same as example i just change this line function handleIntersect(entries, obs) { to make sure that i did not missed something and observer is not get caught here
and also add console.log(obs); and if you check the console in the browser you would see it print the observer data so i am more convensed that it’s the observer that trigger it same as when we use the event handling
I haven’t worked with the intersection observer API myself, yet. I think @justsomeone is right, that this parameter is like the event object in event handlers. It’s a reference to the observer itself which can be used in the callback function. Like the event object this parameter is optional as we see in the above example where only “entries” is used.
From MDN | IntersectionObserver():
callback
A function which is called when the percentage of the target element is visible crosses a threshold. The callback receives as input two parameters:
entries
An array of IntersectionObserverEntry objects, each representing one threshold which was crossed, either becoming more or less visible than the percentage specified by that threshold.
Thank you very much for the explanations and example. It’s much clearer for me now. I was a bit confused to see many IO examples online with callback functions taking that parameter (probably due to copy pasting) without being used later.