Comments (5)
Ultimately I would not even accept string based selectors. For such a low level library, no magic is fine. Accept only Node or Node Lists :)
from in-view.
@vvo @bertez I agree, it would be nice to just pass a Node or NodeList.
One nice thing about using string selectors is that we can use it as a key to keep track of registered handlers for that selector.
inView('.selector').on('enter', el =>
el.classList.add('in-view'));
inView('.selector') // returns the same registry as above
If we add the ability to use Node & NodeList, it will be up to the user to maintain a reference to that registry.
const registry = inView(document.querySelectorAll('.selector'));
Admittedly, that's not the worst thing. It wouldn't break any existing functionality.
from in-view.
Thanks for this great library!
I'd also like to see an option to pass an Array of nodes as I'm using jQuery and it returns an Array of nodes, not NodeList. This would make jQuery interop much simpler.
from in-view.
+1
from in-view.
I vote for only one DOM node to pass as @vvo mentioned. The utility size should be kept at the minimum.
from in-view.
Related Issues (20)
- Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'. HOT 2
- inView.is Uncaught TypeError: Cannot read property 'getBoundingClientRect' of null HOT 2
- Is there a way to set multiple offsets for different DOM nodes
- How to tell if a 200vh element is at top of view? HOT 1
- Simplify `enter` / `exit` events processing with callback: possible to pass the event type into the callback?
- IntersectionObserver support HOT 9
- Accept single, or array of DOM elements
- Dynamic offset ? HOT 2
- Uncaught TypeError: this.handlers[t][n] is not a function in-view.min.js:6 HOT 1
- still maintained? HOT 11
- Replace lodash with lodash-es
- Feature request: loop on elements revealed at same position (stagger elements sequentially)
- Custom parent
- inView.is(YOUR_SELECTOR) throws an error HOT 2
- Can we get a non-minified distribution file please? HOT 1
- How to use this with React HOT 7
- Maybe this is a bad question, but trying to link script on a page yields this: HOT 5
- Tapping "Home" key does not fire enter / exit functions
- Get the data-attribute and classnames of the element on 'enter'?
- Not working in android WebView
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from in-view.