Files: c0e5334e0811d15dbcbc0b86a35ba498c3e9640d / lib / anchor-hook.js
585 bytesRaw
1 | var watch = require('mutant/watch') |
2 | |
3 | module.exports = AnchorHook |
4 | |
5 | function AnchorHook (name, current, cb) { |
6 | return function (element) { |
7 | return watch(current, (current) => { |
8 | if (current === name) { |
9 | window.requestAnimationFrame(() => { |
10 | element.scrollIntoView() |
11 | |
12 | // HACK: due to a browser bug, sometimes the body gets affected!? |
13 | // Why not just hack it!!! |
14 | if (document.body.scrollTop > 0) { |
15 | document.body.scrollTop = 0 |
16 | } |
17 | |
18 | if (typeof cb === 'function') cb(element) |
19 | }) |
20 | } |
21 | }) |
22 | } |
23 | } |
24 |
Built with git-ssb-web