WML - Timer 计时器元素

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

有时,您可能希望在用户不需要明确激活控件的情况下发生某些事情。 是的,WML 为您提供了 ontimer 事件来处理此问题。

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

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

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

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

WML <timer> 元素:

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

<timer> 元素支持以下属性:

属性描述
nametext设置元素的名称。
valuenumber 指定定时器,超过该定时器将过期。 超时以十分之一秒为单位指定。
classclass_data设置元素的类名。
idelement 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 示例19

如果您不选择给定的Enter选项,则5秒后,您将被引导至欢迎页面,并自动显示以下屏幕。

WAP 示例20