В предыдущей главе описано, как пользователи инициируют события, и как мы их обрабатываем, используя обработчики событий.
Иногда вы можете захотеть, чтобы что-то происходило без явной активации пользователем элемента управления. Да, WML предоставляет вам ontimer событие, чтобы справиться с этим.
Событие ontimer запускается, когда таймер карты ведет обратный отсчет от одного до нуля, что означает, что оно не происходит, если таймер инициализируется равным нулю.
Вы можете привязать задачу к этому событию с помощью элемента <onevent>. Вот синтаксис:
<onevent type="ontimer"> A task to be performed. </onevent>
Здесь задача может быть <go>, <prev> или <refresh>.
Элемент <таймер> WML:
Таймер объявляется внутри карты WML с элементом <timer>. Он должен следовать за элементами <onevent>, если они присутствуют. (Если нет элементов <onevent>, <timer> должен быть первым элементом внутри <card>.) На карте может присутствовать не более одного <timer>.
Элемент <timer> поддерживает следующие атрибуты:
атрибут | Значение | Описание |
---|---|---|
название | текст | Устанавливает имя для элемента. |
значение | число | Определяет таймер, по истечении которого таймер истекает. Тайм-ауты указываются в десятых долях секунды. |
учебный класс | class_data | Устанавливает имя класса для элемента. |
Я бы | идентификатор элемента | Уникальный идентификатор элемента. |
Ниже приведен пример, показывающий использование элемента <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>
Когда вы загружаете эту программу, она показывает вам следующий экран:
Если вы не выбрали данную опцию Enter, то через 5 секунд вы будете перенаправлены на страницу приветствия, и автоматически отобразится следующий экран.