设计思路:
对于主页面,以某一个变量作为其显示的标志,以另一个变量作为其左边距(或右)
对于其他页面,以主页左边距+(-)336作为左边距,以一列表中某元素作为显示标志
用一个全局计时器完成页面切换时的计算(计算主页左边距到目标值)
对于显示页面函数,需完成的操作:
1.将需要显示的页面在bool列表中设为true
2.将切换页面指令设置为true/false(即非运算)
部分代码:
非线性运动函数:
主要变量:
全局计时函数:
显示函数:
主页面:
其他页面:
class:
如果对您的开发有启示/帮助作用,您可以直接复制上述源码!
但别忘记在“鸣谢”或“关于”中提起我的名字
对于主页面,以某一个变量作为其显示的标志,以另一个变量作为其左边距(或右)
对于其他页面,以主页左边距+(-)336作为左边距,以一列表中某元素作为显示标志
用一个全局计时器完成页面切换时的计算(计算主页左边距到目标值)
对于显示页面函数,需完成的操作:
1.将需要显示的页面在bool列表中设为true
2.将切换页面指令设置为true/false(即非运算)
部分代码:
非线性运动函数:
[COLOR=rgb(184, 49, 47)]unLine(speed,mode,high,now)//速度 形式 目标 现在高度[/COLOR] { if(mode==1)//反比例 { return Math.round((now-high)/speed) }[COLOR=rgb(184, 49, 47)] },[/COLOR]主要变量:
[COLOR=rgb(184, 49, 47)]pages:[false,false,false],[/COLOR]pag:false,[COLOR=rgb(184, 49, 47)]pagesLeft:0,[/COLOR]全局计时函数:
[COLOR=rgb(184, 49, 47)]mainCounter(){[/COLOR] if(this.pag && this.pagesLeft>-336) { this.pagesLeft-=this.unLine(5,1,-344,this.pagesLeft,0) } if(!this.pag && this.pagesLeft<0) { this.pagesLeft-=this.unLine(5,1,8,this.pagesLeft,0) } if(this.pagesLeft==0){ this.pages.fill(false); } if(this.pagesLeft==-336){ this.mainPage=false } else{ this.mainPage=true } [COLOR=rgb(184, 49, 47)] },[/COLOR]显示函数:
[COLOR=rgb(184, 49, 47)]showPage(sth){[/COLOR] this.pages[sth]=true; this.pag=!this.pag;[COLOR=rgb(184, 49, 47)] },[/COLOR]主页面:
[COLOR=rgb(184, 49, 47)]<div class="page" style="left:{{pagesLeft}}" if="{{mainPage}}">[/COLOR]其他页面:
[COLOR=rgb(184, 49, 47)]<div class="page" if="{{pages[2]}}" style="left:{{pagesLeft+336}}">[/COLOR]class:
[COLOR=rgb(184, 49, 47)].page {[/COLOR] width: 336px; height: 480px; position: absolute;[COLOR=rgb(184, 49, 47)]}[/COLOR]如果对您的开发有启示/帮助作用,您可以直接复制上述源码!
但别忘记在“鸣谢”或“关于”中提起我的名字