由于页面的控制和展现都放在了mobile客户端,所以UI的动态化就需要通过JS在客户端完成。针对JQM的动态化,主要用到以下两个技术:
- JQM组件动态修改
- 界面模板化
1)JQM组件动态修改
常常需要动态修改JQM某些组件的显示,由于它有独立与JQuery的自制组件渲染机制,所以修改DOM后需要额外的措施才能refresh界面显示,JQM这块做得不太友好,每个组件的方式不一样:
- Textarea fields
$('body').prepend('<textarea id="myTextArea"></textarea>'); $('#myTextArea').textinput();
- Text input fields
$('body').prepend('<input type="text" id="myTextField" />'); $('#myTextField').textinput();
- Buttons
$('body').append('<a href="" data-theme="e" id="myNewButton">testing</a>'); $('#myNewButton').button();
- Combobox or select dropdowns
<label for="sCountry">Country:</label> <select name="sCountry" id="sCountry"> <option value="">Where You Live:</option> <option value="ad">Andorra</option> <option value="ae">United Arab Emirates</option> </select> var myselect = $("#sCountry"); myselect[0].selectedIndex = 3; myselect.selectmenu('refresh');
- Listviews
<ul id="myList" data-role="listview" data-inset="true"> <li>Acura</li> <li>Audi</li> <li>BMW</li> </ul> $('#mylist').listview('refresh');
- Slider control
<div data-role="fieldcontain"> <label for="slider-2">Input slider:</label> <input type="range" id="slider-2" value="25" min="0" max="100" /> </div> $('#slider-2').val(80).slider('refresh');
- Toggle switch
<div data-role="fieldcontain"> <label for="toggle">Flip switch:</label> <select name="toggle" id="toggle" data-role="slider"> <option value="off">Off</option> <option value="on">On</option> </select> </div> var myswitch = $("#toggle"); myswitch[0].selectedIndex = 1; myswitch .slider("refresh");
- Radio buttons
<div data-role="fieldcontain"> <fieldset data-role="controlgroup" data-type="horizontal"> <legend>Layout view:</legend> <input type="radio" name="radio-view" value="list" /> <label for="radio-view-a">List</label> <input type="radio" name="radio-view" value="grid" /> <label for="radio-view-b">Grid</label> <input type="radio" name="radio-view" value="gallery" /> <label for="radio-view-c">Gallery</label> </fieldset> </div> $("input[value=grid]").attr('checked',true).checkboxradio('refresh');
- Checkboxes
<div data-role="fieldcontain"> <fieldset data-role="controlgroup"> <legend>Agree to the terms:</legend> <input type="checkbox" name="checkbox-1" id="checkbox-1" /> <label for="checkbox-1">I agree</label> </fieldset> </div> $('#checkbox-1').attr('checked',true).checkboxradio('refresh');
值得注意的是调用refresh的时机,你有时会发生UI组件未初始化的问题,这时解决方法就是先changePage到这个page,再改html,最后再refresh,如下所示:
$.mobile.changePage( "#msgLocalListPage", { transition: "flip"} ); $("#crNewToList").html("<li id='crNewToListTitle' data-role='list-divider' role='heading'>CR New to me List</li>"); $("#crNewToList").listview("refresh");
2)界面模板化
在客户端也能基于模版技术来动态化页面显示,这里我使用了一个jquery template plugin:https://github.com/jquery/jquery-tmpl/,demo和doc里面都有,我就不多说,这里我想强调的是关于页面刷新,如果需要重复动态显示某一个page,我推荐把整个page都放在模版里,每次动态显示时都create这个page,这样就不要根据不同组件采用不同的界面刷新的方法,三个步骤:
在Unity中创建脚本文件后,我们会发现几个默认的函数。另外,还有几个相近的函数,也需要我们区别一下。现在就让我们来略窥究竟。
void Awake () --初始化函数,在游戏开始时系统自动调用。一般用来创建变量之类的东西。
void Start() --初始化函数,在所有Awake函数运行完之后(一般是这样,但不一定),在所有Update函数前系统自动条用。一般用来给变量赋值。
void Update() --刷新函数,在游戏的每一帧都会调用。
void FixedUpdate() --以固定的频率,系统自动调用。特别是在处理刚体的时候。
void LateUpdate() --在Update函数之后调用。
嘿嘿,其实有个简单的测试方法,可以测试出这几个函数调用的先后顺序。就是用Debug.Log("Some string.")函数来测试即可。例如:
#pragma strict // 这几个函数不按先后顺序写,也是可以的。 void Awake () { Debug.Log("I'm Awake."); } void Start () { Debug.Log("I'm Start."); } void Update () { Debug.Log("I'm Update."); } void FixedUpdate () { Debug.Log("I'm FixedUpdate."); } void LateUpdate () { Debug.Log("I'm LateUpdate."); }
具体顺序俺就不多扯了哈,各种自己试吧。
根据全球移动设备供应商协会(GSA,Global mobile Suppliers Association)发布的最新LTE TDD全球部署情况统计,中兴通讯获得的TD-LTE项目的情况是,截止到2011年5月,中兴通讯已为19个国家33个全球运营商建设LTE TDD实验局和商用网络。
全球移动设备供应商协会报告名为《LTE TDD生态系统状况》,报告中的数据显示,已有28个国家,约45家运营商在计划部署或者已经部署LTE TDD网络。其中中兴通讯进入了19个国家33个运营商的实验局和商用网,遍布欧洲、印度、独联体、亚太、东南亚和美洲等区域,包含8个TD-LTE商用合同,中兴通讯LTE TDD布局数量占据GSA数据统计结果的70%以上份额。
报告指出,不同于2G/3G网络,TD-LTE出现给企业和政府提供了新的应用模式。在中国,已开始广泛部署,如部署北京市政务物联数据网和贵州电力网,其LTE TDD网络具备覆盖范围广,容量大,部署周期短的特点。北京政务物联网的规模均超千余个基站,覆盖北京主要城区,旨在改善民生,提升北京市居住质量,涵盖医疗卫生、交通运输、市政市容、能源环境、公共安全等服务、应急、城市管理物联网领域。
中兴通讯同时披露了鲜为人知的印度巴蒂电信建设TD-LTE的情况。据悉,2012年4月10日,印度最大的移动运营商巴蒂电信和中兴通讯联合宣布在加尔各答正式商用南亚第一个TD-LTE网络。该网络于2011年8月24日由签订合同,中兴通讯提供网络及多款终端产品。
-------------------------------------------------------------
90后就业“钱景”:IT仍是最佳选择 毕业后头五年决定你的一生
2012年25家IT科技公司薪酬排行榜 世界最懒国家排行榜名单:英国进前三
2012世界各国人均GDP排名,中国超泰国 2012年全国各省平均工资排行
2012年中国大学高校排行榜(580强排名) 中国各省市面积和人口数量排名
2012城市竞争力500强,69个中国城市上榜 2012各省GDP和人均GDP排名
2011年3月最新“985”工程大学名单(39所) 2011年3月最新“211”工程大学名单(112所)
2012年度中国工科大学排名100强名单 特色985大学高校名单
中国最高等级实验室—国家实验室名单 世界各国国土面积和人口排名
经典Linux开发教程和资料共享 Java教程和海量资料源码
经典C、C++、MFC、VC++教程和海量源码 经典Android教程和海量Android源码