WML - 定时器



上一章描述了用户如何触发事件以及如何使用事件处理程序处理它们。

有时,您可能希望某些事情发生,而无需用户显式激活控件。是的,WML 提供了 ontimer 事件来处理此问题。

当卡片的计时器从一开始倒计时到零时,将触发 ontimer 事件,这意味着如果计时器初始化为零超时,则不会发生此事件。

您可以使用 <onevent> 元素将任务绑定到此事件。以下是语法

<onevent type="ontimer">
   A task to be performed.
</onevent>

这里,任务可以是 <go>、<prev> 或 <refresh>。

WML <timer> 元素

计时器在 WML 卡片内使用 <timer> 元素声明。如果存在 <onevent> 元素,则它必须位于 <onevent> 元素之后。(如果没有 <onevent> 元素,则 <timer> 必须是 <card> 内的第一个元素。)卡片中最多只能存在一个 <timer>。

<timer> 元素支持以下属性

属性描述
name文本设置元素的名称。
value数字指定计时器过期后的时间。超时以十分之一秒为单位指定。
classclass_data为元素设置类名。
id元素 ID元素的唯一 ID。

以下是显示 <timer> 元素用法的示例。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card id="splash" title="splash">
  <onevent type="ontimer">
    <go href="#welcome"/>
  </onevent>
  <timer value="50"/>
<p>
  <a href="#welcome">Enter</a>
</p>
</card>

<card id="welcome" title="Welcome">
<p>
Welcome to the main screen.
</p>
</card>
</wml>

加载此程序时,将显示以下屏幕

WAP Exampple19

如果您不选择给定的Enter选项,则5秒后,您将自动定向到Welcome页面,并将显示以下屏幕。

WAP Exampple20
广告