AppCan IDE 中常用的几个js

作者: ldsea 分类: 程序生活 发布时间: 2013-05-06 15:42

zy_anim.js
->function zy_anim_slide(p1,p2,t,cb);

说明:在同一个html中多个page之间切换的动画效果。由于AppCan的框架允许一个html中放多个page,每个page是一个div,可以实现在不刷新html的情况下,实现多个页面的切换展示。
p1:为当前显示page的id,
p2:为需要切换到的page的id,
t:为切换效果,枚举值为:slide_left,slide_right,slide_up,slide_down
cb:切换完成后的回调方法

zy_control.js
->function zy_fix(header,footer,run,cb)

说明:固定header区域和footer区域。如果你的界面布局是有header,content,footer区域,而且需要content区域具有 滚动条。那么Appcan提供方案是在当前窗口(window)中uexWindow.openSlibing两个辅窗口,分别作为header和 footer。这样,就能够固定住header和footer区域,避免在有些不支持position:fixed css属性的手机上,footer区域会跟中content区域滚动条一起滚动。
header:为header区域div的id
footer:为footer区域div的id
run:初始化完后需要再次调用uexWindow.Onload的话,run为“真”值,否则为“伪”值。
cb:为初始化完后的回调方法

->function zy_parse()
说明:解析url中“?”后的参数,以key-value形式存放到params对象中。

zy_tmpl.js
说明:zy_tmpl.js提供了一套模板,在跨域访问后获取回来的数据,需要迭代出html代码,然后赋值给某一div或ul等(常见的如获取新闻列表,返回json数据,然后解析给一个ul下)。

使用示例:
比如DEV文档中新浪微博的例子:
var tmpl='<div><div >${user.name}</div><div class=”ui-li-desc ui-smaller ui-float-right” >${cb:created_at}</div><p></p><h3 class=”ui-li-heading” style=”white-space:normal”>${text}</h3>${cb:thumbnail_pic}<div onclick=”event.preventDefault();” >来自${source}</div><div >转发${reposts_count}</div><div class=”ui-li-desc ui-smaller ui-float-right” >|</div><div class=”ui-li-desc ui-smaller ui-float-right” >收藏${favourites_count}</div><div >|</div><div >评论${comments_count}</div></div><p></p>’
return zy_tmpl_s(tmpl,d.retweeted_status,j2vCb);
JSON数据示例:
{
“statuses”: [
{
“created_at”: “Tue May 31 17:46:55 +0800 2011”,
“id”: 11488058246,
“text”: “求关注。”,
“source”: “<a href=”http://weibo.com” rel=”nofollow”>新浪微博</a>”,
“favorited”: false,
“truncated”: false,
“in_reply_to_status_id”: “”,
“in_reply_to_user_id”: “”,
“in_reply_to_screen_name”: “”,
“geo”: null,
“mid”: “5612814510546515491”,
“reposts_count”: 8,
“comments_count”: 9,
“annotations”: [],
“user”: {
“id”: 1404376560,
“screen_name”: “zaku”,
“name”: “zaku”,
“province”: “11”,
“city”: “5”,
“location”: “北京 朝阳区”,
“description”: “人生五十年,乃如梦如幻;有生斯有死,壮士复何憾。”,
“url”: “http://blog.sina.com.cn/zaku”,
“profile_image_url”: “http://tp1.sinaimg.cn/1404376560/50/0/1”,
“domain”: “zaku”,
“gender”: “m”,
“followers_count”: 1204,
“friends_count”: 447,
“statuses_count”: 2908,
“favourites_count”: 0,
“created_at”: “Fri Aug 28 00:00:00 +0800 2009”,
“following”: false,
“allow_all_act_msg”: false,
“remark”: “”,
“geo_enabled”: true,
“verified”: false,
“allow_all_comment”: true,
“avatar_large”: “http://tp1.sinaimg.cn/1404376560/180/0/1”,
“verified_reason”: “”,
“follow_me”: false,
“online_status”: 0,
“bi_followers_count”: 215
}
},

],
“previous_cursor”: 0,
“next_cursor”: 11488013766,
“total_number”: 81655
}

返回的json数据,会以tmpl为模板,每个tmpl都是一条微博内容的html结构。调用zy_tmpl_s,会把d.retweeted_status里的json数据去替换${user.name}等以“$”开头,”{}”包围的区域。

用法说明:

${first: name}:碰到对象数据(如果多条)第一条数据的时,用name代替,其中name可以为字符串,也可以为对象数据的某一对象”name”。

${last:name}:碰到对象数据(如果多条)最后一条数据的时,用name代替,其中name可以为字符串,也可以为对象数据的某一对象”name”。

${index:}:返回对象数据(如果多条)当前迭代的索引值,从0开始。

${cb:name}:以content内容作为参数,去调用cb回调方法。

${name}:以对象数据里属性name对于的value值代替

->zy_tmpl(t,dd,l,cb)

说明:迭代多条数据,返回迭代好的html代码
t:为用户自定义模板
dd:为迭代数据,json对象或其它对象
l:为dd数据(多条数据情况下)的长度
cb:碰到${cb:name}时用来回调的方法

->zy_tmpl_s(t,dd,cb)

说明:迭代单条数据,返回迭代好的html代码
t:为用户自定义模板
dd:为迭代数据,json对象或其它对象
cb:碰到${cb:name}时用来回调的方法

zy_json.js
->$.getJSON(a,b[,c,d])

说明:跨域访问请求方法,当为本地html访问网络数据时,调用uexXmlHttpMgr;当为网络环境调用网络环境时,如果是跨域请求使用JSONP 方式调用,如果非跨域请求,使用ajax方式调用;当为本地html访问本地文件时,使用uexFileMgr读取数据内容。
a:为访问url
b:为成功回调方法
c:为返回数据格式,当为”text”时,返回字符串数据,当为”json”,返回json对象数据。默认为”json”
d:失败的回调方法

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注