Repository navigation
Expand file tree
/
Copy pathscript.js
More file actions
63 lines (54 loc) · 4.01 KB
/
Copy pathscript.js
File metadata and controls
63 lines (54 loc) · 4.01 KB
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
// https://github.com/Alhadis/DOMTokenList/blob/master/min/token-list.js
!function(){"use strict";var n,r,t,e,i=window,o=document,u=Object,f=null,a=!0,c=!1,l=" ",s="Element",d="create"+s,h="DOMTokenList",m="__defineGetter__",p="defineProperty",v="class",g="List",y=v+g,w="rel",L=w+g,_="div",b="length",j="contains",S="apply",k="HTML",E=("item "+j+" add remove toggle toString toLocaleString").split(l),A=E[2],C=E[3],M=E[4],N="prototype",O=p in u||m in u[N]||f,T=function(n,r,t,e){u[p]?u[p](n,r,{configurable:c===O?a:!!e,get:t}):n[m](r,t)},x=function(r,t){var e=this,i=[],o={},f=0,s=0,d=function(){if(f>=s)for(;f>s;++s)(function(n){T(e,n,function(){return h(),i[n]},c)})(s)},h=function(){var n,e,u=arguments,c=/\s+/;if(u[b])for(e=0;e<u[b];++e)if(c.test(u[e]))throw n=new SyntaxError('String "'+u[e]+'" '+j+" an invalid character"),n.code=5,n.name="InvalidCharacterError",n;for(i=(""+r[t]).replace(/^\s+|\s+$/g,"").split(c),""===i[0]&&(i=[]),o={},e=0;e<i[b];++e)o[i[e]]=a;f=i[b],d()};return h(),T(e,b,function(){return h(),f}),e[E[6]]=e[E[5]]=function(){return h(),i.join(l)},e.item=function(n){return h(),i[n]},e[j]=function(n){return h(),!!o[n]},e[A]=function(){h[S](e,n=arguments);for(var n,u,c=0,s=n[b];s>c;++c)u=n[c],o[u]||(i.push(u),o[u]=a);f!==i[b]&&(f=i[b]>>>0,r[t]=i.join(l),d())},e[C]=function(){h[S](e,n=arguments);for(var n,u={},c=0,s=[];c<n[b];++c)u[n[c]]=a,delete o[n[c]];for(c=0;c<i[b];++c)u[i[c]]||s.push(i[c]);i=s,f=s[b]>>>0,r[t]=i.join(l),d()},e[M]=function(r,t){return h[S](e,[r]),n!==t?t?(e[A](r),a):(e[C](r),c):o[r]?(e[C](r),c):(e[A](r),a)},function(n,r){if(r)for(var t=0;7>t;++t)r(n,E[t],{enumerable:c})}(e,u[p]),e},D=function(n,r,t){T(n[N],r,function(){var n,e=this,i=m+p+r;if(e[i])return n;if(e[i]=a,c===O){for(var u,f=D.mirror=D.mirror||o[d](_),l=f.childNodes,s=l[b],h=0;s>h;++h)if(l[h]._R===e){u=l[h];break}u||(u=f.appendChild(o[d](_))),n=x.call(u,e,t)}else n=new x(e,t);return T(e,r,function(){return n}),delete e[i],n},a)};if(i[h])r=o[d](_)[y],N=i[h][N],r[A][S](r,E),2>r[b]&&(t=N[A],e=N[C],N[A]=function(){for(var n=0,r=arguments;n<r[b];++n)t.call(this,r[n])},N[C]=function(){for(var n=0,r=arguments;n<r[b];++n)e.call(this,r[n])}),r[M](g,c)&&(N[M]=function(r,t){var e=this;return e[(t=n===t?!e[j](r):t)?A:C](r),!!t});else{if(O)try{T({},"support")}catch(G){O=c}x.polyfill=a,i[h]=x,D(i[s],y,v+"Name"),D(i[k+"Link"+s],L,w),D(i[k+"Anchor"+s],L,w),D(i[k+"Area"+s],L,w)}}();
var doc = document,
win = window,
main = doc.querySelector('.main'),
slides = main.children,
details = doc.querySelectorAll('details'),
ls = localStorage,
book_id = doc.querySelector('h1').innerHTML;
// open all details
for (var l = details.length; l--;) {
var el = details[l];
el.setAttribute('open', '');
}
for (var l2 = slides.length; l2--;) {
var slide = slides[l2];
// Cache the current parent and sibling.
var parent = slide.parentNode,
sibling = slide.nextSibling,
div = doc.createElement('div');
div.appendChild(slide);
if (sibling) {
parent.insertBefore(div, sibling);
} else {
parent.appendChild(div);
}
}
var number = ls.getItem(book_id),
data_start_index = main.getAttribute('data-start-index'),
startI = number ? parseInt(number) : data_start_index ? parseInt(data_start_index) : 0,
slider = tns({
container: '.main',
slideBy: 1,
loop: false,
autoHeight: true,
arrowKeys: true,
touch: false,
startIndex: startI ? startI : 0,
onInit: function (info) {
var navItems = info.navItems,
slideItems = info.slideItems,
navContainer = info.navContainer;
for (var i = navItems.length; i--;) {
navItems[i].innerHTML = slideItems[i].querySelector('summary').innerHTML.replace(/[ ]+\=+/, '');
}
navContainer.insertAdjacentHTML('beforeend', '<button class="menu">Menu</button>');
navContainer.addEventListener('click', function (e) {
navContainer.classList.toggle('show');
});
}
});
slider.events.on('transitionStart', function(info) {
ls.setItem(book_id, info.index);
});