Skip to content

Instantly share code, notes, and snippets.

@isSerge
Last active September 21, 2016 18:34
Show Gist options
  • Select an option

  • Save isSerge/6cee2e88a1dcec3a0a7c51bc6b21295b to your computer and use it in GitHub Desktop.

Select an option

Save isSerge/6cee2e88a1dcec3a0a7c51bc6b21295b to your computer and use it in GitHub Desktop.
scroll header
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