git 地址:
git@git-wz.gz.netease.com:nie-comm/model-for-topic.git
减少重复开发 集成常用交互、常规处理、兼容性处理,降低开发成本,实现快速开发 降低新同学进行移动开发门槛
- 支持左右(上下)滑动切屏(可选)
- 集成横屏提示处理(提示用户使用竖屏浏览)
- 集成创建动画元素功能
- 从上一屏到当前屏时元素的动画效果
- 从下一屏回退到当前屏时元素的动画效果
- 离开当前屏元素消失时的动画效果
- 场景背景图和动画元素背景图预加载功能(未加载完显示loading)
- 提供跳转到某一屏的方法
- 提供是否重复播放动画元素设置
- 引用图片资源预加载
参数
params:object对象,具体对象字段如下
params={
warper:"#specile",//string,外层容器
containerDiv:"#stage",//string,场景节点的外层节点
stages:".stage",//string,所有场景节点选择器
duration:800,// int,切换场景滚动时间
activeClassName:"inited",// string,当前场景应用的样式名
isReplay:false,// bool,当回退到已经浏览过的场景时是否重播场景动画
isHorizontal:false,// bool,是否水平滚动,false为垂直滚动
stageBgs:[],// array,每个场景的背景图
isAutoToNextStage:true,//bool,是否每次滑屏时是否自动切换到下一场景,默认为true
swipeCallback:function(param){//function,每次滑屏时的回调函数参数param={preStageIndex:1,curStageIndex:2,swipeTo:1},若isAutoToNextStage=true会返回上一个场景的索引值preStageIndex和当前场景的索引值curStageIndex,若isAutoToNextStage=false ,则仅当发生场景切换时才会返回这两个索引值,否则返回当前场景的索引值以及滑动方向swipeTo,swipeTo为1表示向前(右或下)滑动,为-1是表示向后(左或上)滑
},
initedCallback:function(){//function,初始化后的回调,
}
});
调用实例
//实现每次滑屏将当前场景的动画元素按顺序播放一个,当前场景动画元素播放完后下一次滑屏才会进入下一场景
var _animates;
MobileTopic.createTopic({
warper:"#specile",
containerDiv:"#stage",
stages:".stage",
duration:800,
activeClassName:"inited",
isReplay:false,
isHorizontal:false,
stageBgs:['../../img/spc_01_bg.jpg','../../img/spc_02_bg.jpg','../../img/spc_03_bg.jpg','../../img/spc_04_bg.jpg','../../img/spc_05_bg.jpg','../../img/spc_06_bg.jpg'],
isAutoToNextStage:false,
swipeCallback:function(param){
if(param.curStageIndex < $("#stage .stage").length-1&¶m.swipeTo>0){
if(_animates[param.curStageIndex].length>0){
_animates[param.curStageIndex][0].play();
_animates[param.curStageIndex].shift();
}
else{
MobileTopic.scorllTo(param.curStageIndex+param.swipeTo);
}
}
else if(param.curStageIndex >0 &¶m.swipeTo<0){
MobileTopic.scorllTo(param.curStageIndex+param.swipeTo);
}
},
initedCallback:function(){
alert("初始化完成")
}
});
参数
parmas:object对象,具体对象字段如下
params={
stageIndex:0,//int,当前元素所属场景的索引值,必填
ele:$("#ani_1"),//$(),动画元素的id,必填
imgUrl:"../images/ani.png",//url,动画元素的背景图,若背景图无需预加载,可以直接写到样式表中,而这里不需要传,可选
forwardInClass:"ani",// className,从上一场景到当前场景时,给动画元素添加的样式表名,可选,不填则场景加载不对元素进行处理,仅设置其背景图
backInClass:"ani_back",//className从下一场景返回到当前场景时,给动画元素添加的样式表,若不传,且isReplay为true,则取值与forwardInClass参数一致,可选
outClass:"ani_out",//className退出当前场景时给元素添加的样式表名,若不传,则仅根据实际情况去掉当前forwardInClass或backInClass,,可选
finishCallback:function(){//function,元素开始播放时回调,,可选
}
}
调用实例
MobileTopic.createAnimateEle({
stageIndex:2,
ele:$("#ani_1"),
imgUrl:"../images/ani.png",
forwardInClass:"ani"
})
参数:
index : int,要跳转到场景的索引值,从0开始,同时会执行swipeCallback()
调用实例:
MobileTopic.scorllTo(3)//跳转到每四场景