This repository has been archived by the owner on Jun 14, 2022. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 19
/
main.js
68 lines (55 loc) · 1.88 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import React from 'react';
import ReactDOM from 'react-dom';
import Scrollbar from '../src/react-smooth-scrollbar.js';
import SmoothScrollbar from 'smooth-scrollbar';
import OverscrollPlugin from 'smooth-scrollbar/plugins/overscroll';
SmoothScrollbar.use(OverscrollPlugin);
class App extends React.Component {
state = {
damping: 0.1,
count: 3,
};
randomDamping() {
const nextState = {
damping: Math.random() * 0.5 + 0.1,
count: Math.random() * 10 | 0,
};
console.log(nextState);
this.setState(nextState);
setTimeout(this.randomDamping.bind(this), 3000);
}
componentDidMount() {
this.scrollbar = this.$container.scrollbar;
this.randomDamping();
}
_randomItem() {
const res = [];
for (let i = 0; i < this.state.count; i++) {
res.push(<div key={i}>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>);
}
return res;
}
render() {
return (
<Scrollbar
ref={c => this.$container = c}
damping={this.state.damping}
plugins={{
overscroll: { damping: this.state.damping }
}}
>
<img src="your_diary.jpg" />
{this._randomItem()}
</Scrollbar>
);
}
}
ReactDOM.render(
<App />,
document.getElementById('app')
);