Last active
September 21, 2016 18:34
-
-
Save isSerge/6cee2e88a1dcec3a0a7c51bc6b21295b to your computer and use it in GitHub Desktop.
scroll header
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import React from 'react'; | |
| import Title from './Title'; | |
| import Nav from './Nav'; | |
| import styles from "./style.css"; | |
| var lastScroll = 0;//переменная для scrollHandler | |
| class Header extends React.Component { | |
| constructor(){ | |
| super(); | |
| this.state = { | |
| isHidden: false | |
| }; | |
| } | |
| scrollHandler(){ | |
| let st = window.pageYOffset || document.documentElement.scrollTop; | |
| //если скролим вниз | |
| if(st > lastScroll){ | |
| this.setState = { | |
| isHidden: true | |
| }; | |
| console.log(this.state.isHidden); | |
| } | |
| //если скролим вверх | |
| else { | |
| this.setState = { | |
| isHidden: false | |
| }; | |
| console.log(this.state.isHidden); | |
| } | |
| lastScroll = st; | |
| } //в обоих случаях setState не срабатывает( | |
| componentDidMount(){ | |
| window.addEventListener('scroll', this.scrollHandler.bind(this)); | |
| } | |
| componentWillMount(){ | |
| window.removeEventListener('scroll', this.scrollHandler.bind(this)); | |
| } | |
| render() { | |
| return ( | |
| <header className={styles.header + (this.state.isHidden ? 'is-hidden' : '')} ref='myHeader'> | |
| <Title location={this.props.location}/> | |
| <Nav /> | |
| </header> | |
| ); | |
| } | |
| } | |
| export default Header; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment