react-inview-js
Version:
React Inview checker with only javascript
60 lines (41 loc) • 1.61 kB
Markdown
if component is inview. Built with vanilla javascript.
Currently in beta, please help contribute!

Requires [nodejs](http://nodejs.org/).
```sh
npm install react-inview-js
```
* showGuides: creates visual indicator of viewport size
* offsetY: range 0 to 1. changes how large the viewport should be. Defaults to 0 which is the full size of browser.
* fullElementInView: boolean(true/false) - false means just the top of the element is in view - good for large elements
* this.props.elementIsInView: True/false value based on if element is in view
* this.props.elementHasBeenInView: True/false if the element has been in view
```javascript
import React, { Component } from 'react';
import ReactInview from 'react-inview-js';
class MyComponent extends Component {
render () {
const inView = this.props.elementIsInView;
const elementHasBeenInView = this.props.elementHasBeenInView;
// Change classname based on boolean
const viewClassName = (inView)? 'is--inview-true' : 'is--inview-false';
const elementHasBeenInView = (elementHasBeenInView)? 'Element has been seen' : 'Element has not been in view';
return (
<article className={viewClassName}>
<h1>React InView -- { elementHasBeenInView }</h1>
</article>
);
}
}
const InviewOptions = {offsetY: 0.8, showGuides: true, fullElementInView: false}
export default ReactInview(InviewOptions)(MyComponent);
```
```
npm install && npm install react react-dom && npm start
```
Checks