<timer/>可以用来在用户不进行任何操作的一段时间后,自动执行一个任务,任何激活CARD页面的任务和用户操作都会启动<timer/>,而任务进行时,<timer/>就停止。
每个CARD只能有一个<timer/>,一个<timer/>只能触发一个任务。语法如下:<timer name="variable" value="value"/>,其中name为可选属性,指定为一个变量名,当退出该CARD时,该变量存储此时定时器的值,当定时器超时时,手机将该变量设为0;value为必选属性,用来设置定时器的定时值,最小单位为0.1秒。
test8.wml
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <head> <meta http-equiv="Cache-Control" content="max-age=0"/> </head> <card id="card1" ontimer="#card2"> <timer name="time1" value="50"/> <p align="center"> After 5s, goto card2 </p> </card> <card id="card2"> <onevent type="ontimer"> <go href="#card1"/> </onevent> <timer name="time2" value="50"/> <p align="center"> Here is card2! </p> </card> </wml> |
再提一下,<onevent> <timer> <do>三者必须按以上顺序写。
此外在DECK级还可以加入<template>,用来将事件捆绑在DECK级上,语法如下:
<template onenterforward="url" onenterbackward="url" ontimer="url">
<do>或者<onevent>
</template>
test9.wml
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <head> <meta http-equiv="Cache-Control" content="max-age=0"/> </head> <template> <do type="accept" label="deckPress" name="do1"> <go href="#card01"/> </do> </template> <card id="card0" ordered="false"> <do type="accept" label="cardPress" name="do1"> <go href="#card02"/> </do> <p> Press ACCEPT... </p> </card> <card id="card01"> <p> Here is card01 </p> </card> <card id="card02"> <p> Here is card02 </p> </card> </wml> |