-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy path16b.js
More file actions
32 lines (28 loc) · 692 Bytes
/
16b.js
File metadata and controls
32 lines (28 loc) · 692 Bytes
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
function filter(conditionFn) {
return setXListener =>
function setYListener(cb) {
setXListener(x => {
if (conditionFn(x)) {
cb(x);
}
})
}
}
function flipCard(card) {
let cardState = 'front';
function setDblclickListener(cb) {
card.addEventListener('dblclick', cb);
}
const setDivPDblclickListener = filter(ev =>
~(['DIV', 'P'].indexOf(ev.target.tagName))
)(setDblclickListener)
setDivPDblclickListener(ev => {
if (cardState === 'front') {
card.style.transform = 'rotateY( 180deg )';
cardState = 'back';
} else {
card.style.transform = 'rotateY( 0deg )';
cardState = 'front';
}
})
}