/* * pageswitch * @author qiqiboy * @github https://github.com/qiqiboy/pageswitch */ ; (function(root, struct, undefined){ "use strict"; var version='2.3.2'; var lasttime=0, nextframe=root.requestanimationframe || root.webkitrequestanimationframe || root.mozrequestanimationframe || root.msrequestanimationframe || function(callback){ var currtime=+new date, delay=math.max(1000/60,1000/60-(currtime-lasttime)); lasttime=currtime+delay; return settimeout(callback,delay); }, cancelframe=root.cancelanimationframe || root.webkitcancelanimationframe || root.webkitcancelrequestanimationframe || root.mozcancelrequestanimationframe || root.mscancelrequestanimationframe || cleartimeout, doc=root.document, divstyle=doc.createelement('div').style, cssvendor=function(){ var tests="-webkit- -moz- -o- -ms-".split(" "), prop; while(prop=tests.shift()){ if(camelcase(prop+'transform') in divstyle){ return prop; } } return ''; }(), opacity=csstest('opacity'), transform=csstest('transform'), perspective=csstest('perspective'), transformstyle=csstest('transform-style'), transformorigin=csstest('transform-origin'), backfacevisibility=csstest('backface-visibility'), preserve3d=transformstyle&&function(){ divstyle[transformstyle]='preserve-3d'; return divstyle[transformstyle]=='preserve-3d'; }(), tostring=object.prototype.tostring, slice=[].slice, class2type={}, event2type={}, event2code={ click:4, mousewheel:5, dommousescroll:5, keydown:6 }, pointertypes={ 2:'touch', 3:'pen', 4:'mouse', pen:'pen' }, startevent=[], moveevent=[], event=function(){ var ret={}, states={ start:1, down:1, move:2, end:3, up:3, cancel:3 }; each("mouse touch pointer mspointer-".split(" "),function(prefix){ var _prefix=/pointer/i.test(prefix)?'pointer':prefix; ret[_prefix]=ret[_prefix]||{}; pointertypes[_prefix]=_prefix; each(states,function(endfix,code){ var ev=camelcase(prefix+endfix); ret[_prefix][ev]=code; event2type[ev.tolowercase()]=_prefix; event2code[ev.tolowercase()]=code; if(code==1){ startevent.push(ev); }else{ moveevent.push(ev); } }); }); return ret; }(), pointers={ touch:{}, pointer:{}, mouse:{} }, ease={ linear:function(t,b,c,d){ return c*t/d + b; }, ease:function(t,b,c,d){ return -c * ((t=t/d-1)*t*t*t - 1) + b; }, 'ease-in':function(t,b,c,d){ return c*(t/=d)*t*t + b; }, 'ease-out':function(t,b,c,d){ return c*((t=t/d-1)*t*t + 1) + b; }, 'ease-in-out':function(t,b,c,d){ if ((t/=d/2) < 1) return c/2*t*t*t + b; return c/2*((t-=2)*t*t + 2) + b; }, bounce:function(t,b,c,d){ if ((t/=d) < (1/2.75)) { return c*(7.5625*t*t) + b; } else if (t < (2/2.75)) { return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; } else if (t < (2.5/2.75)) { return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; } else { return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; } } }, transition={ /* 更改切换效果 * @param element cpage 当前页面 * @param float cp 当前页面过度百分比 * @param element tpage 前序页面 * @param float tp 前序页面过度百分比 */ fade:function(cpage,cp,tpage,tp){ if(opacity){ cpage.style.opacity=1-math.abs(cp); if(tpage){ tpage.style.opacity=math.abs(cp); } }else{ cpage.style.filter='alpha(opacity='+(1-math.abs(cp))*100+')'; if(tpage){ tpage.style.filter='alpha(opacity='+math.abs(cp)*100+')'; } } } }; each("boolean number string function array date regexp object error".split(" "),function(name){ class2type["[object "+name+"]"]=name.tolowercase(); }); each("x y ".split(" "),function(name){ var xy={x:'left',y:'top'}, fire3d=perspective?' translatez(0)':''; transition['scroll'+name]=function(cpage,cp,tpage,tp){ var prop=name||['x','y'][this.direction]; transform?cpage.style[transform]='translate'+prop+'('+cp*100+'%)'+fire3d:cpage.style[xy[prop]]=cp*100+'%'; if(tpage){ transform?tpage.style[transform]='translate'+prop+'('+tp*100+'%)'+fire3d:tpage.style[xy[prop]]=tp*100+'%'; } } transition['scroll3d'+name]=function(cpage,cp,tpage,tp){ var prop=name||['x','y'][this.direction], fix=cp<0?-1:1, abscp=math.abs(cp), deg; if(perspective){ if(abscp<.05){ deg=abscp*1200; cp=0;tp=fix*-1; }else if(abscp<.95){ deg=60; cp=(cp-.05*fix)/.9; tp=(tp+.05*fix)/.9; }else{ deg=(1-abscp)*1200; cp=fix;tp=0; } cpage.parentnode.style[transform]='perspective(1000px) rotatex('+deg+'deg)'; cpage.style[transform]='translate'+prop+'('+cp*100+'%)'; if(tpage){ tpage.style[transform]='translate'+prop+'('+tp*100+'%)'; } }else transition['scroll'+name].apply(this,arguments); } transition['slide'+name]=function(cpage,cp,tpage,tp){ transition['slidecoverreverse'+name].apply(this,arguments); } transition['flow'+name]=function(cpage,cp,tpage,tp){ transition['flowcoverin'+name].apply(this,arguments); } transition['slice'+name]=function(){ var createwrap=function(node,container){ var wrap=doc.createelement('div'); wrap.style.csstext='position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;'; wrap.appendchild(node); container.appendchild(wrap); }, fixblock=function(cpage,tpage,pages,container){ each(pages,function(page){ if(page.parentnode==container)return; if(cpage!=page && tpage!=page){ page.parentnode.style.display='none'; }else{ page.parentnode.style.display='block'; } }); }; return function(cpage,cp,tpage,tp){ var prop=name||['x','y'][this.direction], len=prop=='x'?'width':'height', total=this.container[camelcase('client-'+len)], m=math.abs(cp)*100, n=math.abs(tp)*100, end=cp==0||tp==0; cpage.style[len]=end?'100%':total+'px'; if(cpage.parentnode==this.container){ createwrap(cpage,this.container); } cpage.parentnode.style.zindex=cp>0?0:1; cpage.parentnode.style[len]=(math.min(cp,0)+1)*100+'%'; if(tpage){ tpage.style[len]=end?'100%':total+'px'; if(tpage.parentnode==this.container){ createwrap(tpage,this.container); } tpage.parentnode.style.zindex=cp>0?1:0; tpage.parentnode.style[len]=(math.min(tp,0)+1)*100+'%'; } fixblock(cpage,tpage,this.pages,this.container); } }(); transition['flip'+name]=function(cpage,cp,tpage,tp){ var prop=name||['x','y'][1-this.direction], fix=prop=='x'?-1:1; if(perspective){ cpage.style[backfacevisibility]='hidden'; cpage.style[transform]='perspective(1000px) rotate'+prop+'('+cp*180*fix+'deg)'+fire3d; if(tpage){ tpage.style[backfacevisibility]='hidden'; tpage.style[transform]='perspective(1000px) rotate'+prop+'('+tp*180*fix+'deg)'+fire3d; } }else transition['scroll'+name].apply(this,arguments); } transition['flip3d'+name]=function(){ var inited; return function(cpage,cp,tpage,tp){ var prop=name||['x','y'][1-this.direction], fe=prop=='x'?-1:1, fix=fe*(cp<0?1:-1), zh=cpage['offset'+(prop=='x'?'height':'width')]/2; if(preserve3d){ if(!inited){ inited=true; cpage.parentnode.parentnode.style[perspective]='1000px'; cpage.parentnode.style[transformstyle]='preserve-3d'; } cpage.parentnode.style[transform]='translatez(-'+zh+'px) rotate'+prop+'('+cp*90*fe+'deg)'; cpage.style[transform]='rotate'+prop+'(0) translatez('+zh+'px)'; if(tpage){ tpage.style[transform]='rotate'+prop+'('+(fix*90)+'deg) translatez('+zh+'px)'; } }else transition['scroll'+name].apply(this,arguments); } }(); transition['flipclock'+name]=function(){ var createwrap=function(node,container,prop,off){ var wrap=node.parentnode, len=prop=='x'?'height':'width', pos=prop=='x'?'top':'left', origin=['50%',(off?0:100)+'%'][prop=='x'?'slice':'reverse']().join(' '); if(!wrap||wrap==container){ wrap=doc.createelement('div'); wrap.style.csstext='position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;display:none;'; wrap.style[transformorigin]=origin; wrap.style[backfacevisibility]='hidden'; wrap.appendchild(node); container.appendchild(wrap); } wrap.style[len]='50%'; wrap.style[pos]=off*100+'%'; node.style[len]='200%'; node.style[pos]=-off*200+'%'; return wrap; }, fixblock=function(cpage,tpage,pages,container){ each(pages,function(page){ if(page.parentnode==container)return; if(cpage!=page && tpage!=page){ page.parentnode.style.display=page._clone.parentnode.style.display='none'; }else{ page.parentnode.style.display=page._clone.parentnode.style.display='block'; } }); }; return function(cpage,cp,tpage,tp){ var prop=name||['x','y'][1-this.direction], isself=this.pages[this.current]==cpage, zindex=number(math.abs(cp)<.5), fix=prop=='x'?1:-1, m,n; if(perspective){ createwrap(cpage,this.container,prop,0); createwrap(cpage._clone||(cpage._clone=cpage.clonenode(true)),this.container,prop,.5); m=n=-cp*180*fix; cp>0?n=0:m=0; cpage.parentnode.style.zindex=cpage._clone.parentnode.style.zindex=zindex; cpage.parentnode.style[transform]='perspective(1000px) rotate'+prop+'('+m+'deg)'; cpage._clone.parentnode.style[transform]='perspective(1000px) rotate'+prop+'('+n+'deg)'; if(tpage){ createwrap(tpage,this.container,prop,0); createwrap(tpage._clone||(tpage._clone=tpage.clonenode(true)),this.container,prop,.5); m=n=-tp*180*fix; cp>0?m=0:n=0; tpage.parentnode.style.zindex=tpage._clone.parentnode.style.zindex=1-zindex; tpage.parentnode.style[transform]='perspective(1000px) rotate'+prop+'('+m+'deg)'; tpage._clone.parentnode.style[transform]='perspective(1000px) rotate'+prop+'('+n+'deg)'; } fixblock(cpage,tpage,this.pages,this.container); if(0==cp||tp==0){ cpage=this.pages[this.current]; cpage.style.height=cpage.style.width=cpage.parentnode.style.height=cpage.parentnode.style.width='100%'; cpage.style.top=cpage.style.left=cpage.parentnode.style.top=cpage.parentnode.style.left=0; cpage.parentnode.style.zindex=2; } }else transition['scroll'+name].apply(this,arguments); } }(); transition['flippaper'+name]=function(){ var backdiv; return function(cpage,cp,tpage,tp){ var prop=name||['x','y'][this.direction], len=prop=='x'?'width':'height', m=math.abs(cp)*100; if(!backdiv){ backdiv=doc.createelement('div'); backdiv.style.csstext='position:absolute;z-index:2;top:0;left:0;height:0;width:0;background:no-repeat #fff;'; try{ backdiv.style.backgroundimage=cssvendor+'linear-gradient('+(prop=='x'?'right':'bottom')+', #aaa 0,#fff 20px)'; }catch(e){} this.container.appendchild(backdiv); } transition['slice'+name].apply(this,arguments); backdiv.style.display=cp==0||tp==0?'none':'block'; backdiv.style.width=backdiv.style.height='100%'; backdiv.style[len]=(cp<0?m:100-m)+'%'; backdiv.style[xy[prop]]=(cp<0?100-2*m:2*m-100)+'%'; } }(); transition['zoom'+name]=function(cpage,cp,tpage,tp){ var zindex=number(math.abs(cp)<.5); if(transform){ cpage.style[transform]='scale'+name+'('+math.abs(1-math.abs(cp)*2)+')'+fire3d; cpage.style.zindex=zindex; if(tpage){ tpage.style[transform]='scale'+name+'('+math.abs(1-math.abs(cp)*2)+')'+fire3d; tpage.style.zindex=1-zindex; } }else transition['scroll'+name].apply(this,arguments); } transition['bomb'+name]=function(cpage,cp,tpage,tp){ var zindex=number(math.abs(cp)<.5), val=math.abs(1-math.abs(cp)*2); if(transform){ cpage.style[transform]='scale'+name+'('+(2-val)+')'+fire3d; cpage.style.opacity=zindex?val:0; cpage.style.zindex=zindex; if(tpage){ tpage.style[transform]='scale'+name+'('+(2-val)+')'+fire3d; tpage.style.opacity=zindex?0:val; tpage.style.zindex=1-zindex; } }else transition['scroll'+name].apply(this,arguments); } transition['skew'+name]=function(cpage,cp,tpage,tp){ var zindex=number(math.abs(cp)<.5); if(transform){ cpage.style[transform]='skew'+name+'('+cp*180+'deg)'+fire3d; cpage.style.zindex=zindex; if(tpage){ tpage.style[transform]='skew'+name+'('+tp*180+'deg)'+fire3d; tpage.style.zindex=1-zindex; } }else transition['scroll'+name].apply(this,arguments); } each(" reverse in out".split(" "),function(type){ transition['scrollcover'+type+name]=function(cpage,cp,tpage,tp){ var prop=name||['x','y'][this.direction], zindex=number(type=='in'||!type&&cp<0||type=='reverse'&&cp>0), cr=100,tr=100; zindex?cr=20:tr=20; transform?cpage.style[transform]='translate'+prop+'('+cp*cr+'%)'+fire3d:cpage.style[xy[prop]]=cp*cr+'%'; cpage.style.zindex=1-zindex; if(tpage){ transform?tpage.style[transform]='translate'+prop+'('+tp*tr+'%)'+fire3d:tpage.style[xy[prop]]=tp*tr+'%'; tpage.style.zindex=zindex; } } transition['slidecover'+type+name]=function(cpage,cp,tpage,tp){ var prop=name||['x','y'][this.direction], zindex=number(type=='in'||!type&&cp<0||type=='reverse'&&cp>0); if(transform){ cpage.style[transform]='translate'+prop+'('+cp*(100-zindex*100)+'%) scale('+((1-math.abs(zindex&&cp))*.2+.8)+')'+fire3d; cpage.style.zindex=1-zindex; if(tpage){ tpage.style[transform]='translate'+prop+'('+tp*zindex*100+'%) scale('+((1-math.abs(zindex?0:tp))*.2+.8)+')'+fire3d; tpage.style.zindex=zindex; } }else transition['scrollcover'+type+name].apply(this,arguments); } transition['flowcover'+type+name]=function(cpage,cp,tpage,tp){ var prop=name||['x','y'][this.direction], zindex=number(type=='in'||!type&&cp<0||type=='reverse'&&cp>0); if(transform){ cpage.style[transform]='translate'+prop+'('+cp*(100-zindex*50)+'%) scale('+((1-math.abs(cp))*.5+.5)+')'+fire3d; cpage.style.zindex=1-zindex; if(tpage){ tpage.style[transform]='translate'+prop+'('+tp*(50+zindex*50)+'%) scale('+((1-math.abs(tp))*.5+.5)+')'+fire3d; tpage.style.zindex=zindex; } }else transition['scrollcover'+type+name].apply(this,arguments); } transition['flipcover'+type+name]=function(cpage,cp,tpage,tp){ var prop=name||['x','y'][1-this.direction], zindex=number(type=='in'||!type&&cp<0||type=='reverse'&&cp>0); if(perspective){ zindex?cp=0:tp=0; cpage.style[transform]='perspective(1000px) rotate'+prop+'('+cp*-90+'deg)'+fire3d; cpage.style.zindex=1-zindex; if(tpage){ tpage.style[transform]='perspective(1000px) rotate'+prop+'('+tp*-90+'deg)'+fire3d; tpage.style.zindex=zindex; } }else transition['scroll'+name].apply(this,arguments); } transition['skewcover'+type+name]=function(cpage,cp,tpage,tp){ var zindex=number(type=='in'||!type&&cp<0||type=='reverse'&&cp>0); if(transform){ zindex?cp=0:tp=0; cpage.style[transform]='skew'+name+'('+cp*90+'deg)'+fire3d; cpage.style.zindex=1-zindex; if(tpage){ tpage.style[transform]='skew'+name+'('+tp*90+'deg)'+fire3d; tpage.style.zindex=zindex; } }else transition['scroll'+name].apply(this,arguments); } transition['zoomcover'+type+name]=function(cpage,cp,tpage,tp){ var zindex=number(type=='in'||!type&&cp<0||type=='reverse'&&cp>0); if(transform){ zindex?cp=0:tp=0; cpage.style[transform]='scale'+name+'('+(1-math.abs(cp))+')'+fire3d; cpage.style.zindex=1-zindex; if(tpage){ tpage.style[transform]='scale'+name+'('+(1-math.abs(tp))+')'+fire3d; tpage.style.zindex=zindex; } }else transition['scroll'+name].apply(this,arguments); } transition['bombcover'+type+name]=function(cpage,cp,tpage,tp){ var zindex=number(type=='in'||!type&&cp<0||type=='reverse'&&cp>0); if(transform){ zindex?cp=0:tp=0; cpage.style[transform]='scale'+name+'('+(1+math.abs(cp))+')'+fire3d; cpage.style.zindex=1-zindex; if(tpage){ tpage.style[transform]='scale'+name+'('+(1+math.abs(tp))+')'+fire3d; tpage.style.zindex=zindex; } transition.fade.apply(this,arguments); }else transition['scroll'+name].apply(this,arguments); } }); }); function type(obj){ if(obj==null){ return obj+""; } return typeof obj=='object'||typeof obj=='function' ? class2type[tostring.call(obj)]||"object" : typeof obj; } function isarraylike(elem){ var tp=type(elem); return !!elem && tp!='function' && tp!='string' && (elem.length===0 || elem.length && (elem.nodetype==1 || (elem.length-1) in elem)); } function camelcase(str){ return (str+'').replace(/^-ms-/, 'ms-').replace(/-([a-z]|[0-9])/ig, function(all, letter){ return (letter+'').touppercase(); }); } function csstest(name){ var prop=camelcase(name), _prop=camelcase(cssvendor+prop); return (prop in divstyle) && prop || (_prop in divstyle) && _prop || ''; } function isfunction(func){ return type(func)=='function'; } function pointerlength(obj){ var len=0,key; if(type(obj.length)=='number'){ len=obj.length; }else if('keys' in object){ len=object.keys(obj).length; }else{ for(key in obj){ if(obj.hasownproperty(key)){ len++; } } } return len; } function pointeritem(obj,n){ return 'item' in obj?obj.item(n):function(){ var i=0,key; for(key in this){ if(i++==n){ return this[key]; } } }.call(obj,n); } function each(arr, iterate){ if(isarraylike(arr)){ if(type(arr.foreach)=='function'){ return arr.foreach(iterate); } var i=0,len=arr.length,item; for(;i0?-1:1):fixindex), tpage=this.pages[tindex], target=index>current?-1:1, _tpage=cpage; cancelframe(this.timer); if(fixindex==current){ target=0; _tpage=tpage; }else if(tpage.style.display=='none'){ percent=0; } this.fixblock(current,tindex); this.fire('before',current,fixindex); this.current=fixindex; duration*=math.abs(target-percent); this.latesttime=stime+duration; ani(); function ani(){ var offset=math.min(duration,+new date-stime), s=duration?ease(offset,0,1,duration):1, cp=(target-percent)*s+percent; self.fixupdate(cp,current,tindex); if(offset==duration){ if(_tpage){ _tpage.style.display='none'; } delete self.timer; self.fire('after',fixindex,current); }else{ self.timer=nextframe(ani); } } return this; }, prev:function(){ return this.slide(this.current-1); }, next:function(){ return this.slide(this.current+1); }, play:function(){ this.playing=true; return this.fireplay(); }, fireplay:function(){ var self=this; if(this.playing){ this.playtimer=settimeout(function(){ self.slide((self.current+1)%(self.loop?infinity:self.length)); },this.interval); } return this; }, pause:function(){ this.playing=false; cleartimeout(this.playtimer); return this; }, fixindex:function(index){ return this.length>1&&this.loop?(this.length+index)%this.length:index; }, fixblock:function(cindex,tindex){ each(this.pages,function(page,index){ if(cindex!=index && tindex!=index){ page.style.display='none'; }else{ page.style.display='block'; } }); return this; }, fixupdate:function(cper,cindex,tindex){ var pagedata=this.pagedata, cpage=this.pages[cindex], tpage=this.pages[tindex], tper; pagedata[cindex].percent=cper; if(tpage){ tper=pagedata[tindex].percent=cper>0?cper-1:1+cper; } return this.fire('update',cpage,cper,tpage,tper); }, getpercent:function(index){ var pdata=this.pagedata[index==null?this.current:index]; return pdata&&(pdata.percent||0); }, getoffsetparent:function(){ var position=getstyle(this.container,'position'); if(position&&position!='static'){ return this.container; } return this.container.offsetparent||doc.body; }, handleevent:function(oldevent){ var ev=filterevent(oldevent), candrag=ev.button<1&&ev.length<2&&(!this.pointertype||this.pointertype==ev.eventtype)&&(this.mouse||ev.pointertype!='mouse'); switch(ev.eventcode){ case 2: if(candrag&&this.rect){ var cindex=this.current, dir=this.direction, rect=[ev.clientx,ev.clienty], _rect=this.rect, offset=rect[dir]-_rect[dir], cpage=this.pages[cindex], total=this.offsetparent[dir?'clientheight':'clientwidth'], tindex,percent; if(this.drag==null && _rect.tostring()!=rect.tostring()){ this.drag=math.abs(offset)>=math.abs(rect[1-dir]-_rect[1-dir]); this.drag && this.fire('dragstart',ev); } if(this.drag){ percent=this.percent+(total&&offset/total); if(!this.pages[tindex=this.fixindex(cindex+(percent>0?-1:1))]){ percent/=math.abs(offset)/total+2; } this.fixblock(cindex,tindex); this.fire('dragmove',ev); this.fixupdate(percent,cindex,tindex); this._offset=offset; ev.preventdefault(); } } break; case 1: case 3: if(candrag){ var self=this, index=this.current, percent=this.getpercent(), isdrag,offset,tm,nn; if(ev.length&&(ev.eventcode==1||this.drag)){ nn=ev.target.nodename.tolowercase(); cleartimeout(this.eventtimer); if(!this.pointertype){ this.pointertype=ev.eventtype; } if(this.timer){ cancelframe(this.timer); delete this.timer; } this.rect=[ev.clientx,ev.clienty]; this.percent=percent; this.time=+new date; this.offsetparent=this.getoffsetparent(); if(ev.eventtype!='touch' && (nn=='a' || nn=='img')){ ev.preventdefault(); } }else if(tm=this.time){ offset=this._offset; isdrag=this.drag; each("rect drag time percent _offset offsetparent".split(" "),function(prop){ delete self[prop]; }); if(isdrag){ if(+new date-tm<500&&math.abs(offset)>20 || math.abs(percent)>.5){ index+=offset>0?-1:1; } this.fire('dragend',ev); ev.preventdefault(); } if(percent){ this.slide(index); }else if(isdrag){ this.fireplay(); } this.eventtimer=settimeout(function(){ delete self.pointertype; },400); } } break; case 4: if(this.timer){ ev.preventdefault(); } break; case 5: ev.preventdefault(); if(this.isstatic() && +new date-this.latesttime>math.max(1000-this.duration,0)){ var wd=ev.wheeldelta||-ev.detail; math.abs(wd)>=3 && this[wd>0?'prev':'next'](); } break; case 6: var nn=ev.target.nodename.tolowercase(); if(this.isstatic() && nn!='input' && nn!='textarea' && nn!='select'){ switch(ev.keycode||ev.which){ case 33: case 37: case 38: this.prev(); break; case 32: case 34: case 39: case 40: this.next(); break; case 35: this.slide(this.length-1); break; case 36: this.slide(0); break; } } break; } }, destroy:function(){ var pagedata=this.pagedata; offlistener(this.container,startevent.join(" ")+" click"+(this.mousewheel?" mousewheel dommousescroll":""),this.handler); offlistener(doc,moveevent.join(" ")+(this.arrowkey?" keydown":""),this.handler); each(this.pages,function(page,index){ page.style.csstext=pagedata[index].csstext; }); this.container.removechild(this.comment); this.length=0; return this.pause(); }, append:function(elem,index){ if(null==index){ index=this.pages.length; } this.pagedata.splice(index,0,{ percent:0, csstext:elem.style.csstext }); this.pages.splice(index,0,elem); this.container.appendchild(this.initstyle(elem)); this.length=this.pages.length; if(index<=this.current){ this.current++; } return this; }, prepend:function(elem){ return this.append(elem,0); }, insertbefore:function(elem,index){ return this.append(elem,index-1); }, insertafter:function(elem,index){ return this.append(elem,index+1); }, remove:function(index){ this.container.removechild(this.pages[index]); this.pages.splice(index,1); this.pagedata.splice(index,1); this.length=this.pages.length; if(index<=this.current){ this.slide(this.current=math.max(0,this.current-1)); } return this; } } each("ease transition".split(" "),function(name){ struct['add'+name]=struct.prototype['add'+name]; }); if(typeof exports === 'object') { module.exports = struct; } else if(typeof define=='function' && define.amd){ define('pageswitch',function(){ return struct; }); }else root.pageswitch=struct; })(window, function(wrap,config){ if(!(this instanceof arguments.callee)){ return new arguments.callee(wrap,config); } this.container=typeof wrap=='string'?document.getelementbyid(wrap):wrap; this.init(config||{}); });