WAP中实现文字滚动

首先说说动画,学FLASH的人就马上会想到帧,在单位时间内播放多少帧就能实现动画的效果(不过文字滚动在HTML网页中也能用marquee实现效果)
            WAP中实现文字滚动的效果就只能利用动画的原理实现,因为WML中没有marquee,但是有CARD 的ontimer事件
            ontimer类似<meta http-equiv="refresh"
            content="300;url=main.asp">和JAVASCRIPT中的setTimeout方法,用于指定一个事件。当<timer/>
            标签指定的时间到期后,浏览器就执行ontimer所指定的这个事件。
            ontimer可以是一个URL地址,一个卡片组,一个WML网页,一幅图像或其他符合URL定位的规则的文件。
            <timer/>标签指定的时间为正整数,单位大小为1/10秒。
            ontimer时间只能包含在card元素或template元素的标签中进行定义,其语法形式如下:
           
< card  id ="name"  title ="label"  newcontext ="boolean"  ordered ="true"
            onenterforward
="href"  onenterbackward ="href"  ontimer ="href" >

            内容(content)
            </card>
            或:
           
< template  onenterforward ="href"  onenterbackward ="href"
            ontimer
="href" >

            内容(content)
            </template>
            ontimer事件只有一个属性,即ontimer。
            它用于指定一个超链(href)的URL地址,指定时间timer过期的时候,用户浏览器就会按照超链(href)的URL打开相应的卡片或者文件。
            先测试一个例子
           
< card  id ="c1"  title ="c1"  ontimer ="#c2" >
            
< timer  value ="20" />
            X1
            
</ card >
            
< card  id ="c2"  title ="c2"  ontimer ="#c1" >
            X2
            
< timer  value ="50" />  
            
</ card >

            效果为:打开页面后显示X1 2秒后跳到第二个名为C2的CARD 显示X2 5秒后跳回第一个卡片
            一般HTML页面中文字滚动效果都是自下而上
            可以做这样的设计
            第一个卡片显示内容
            ------------------
            XXXXXXXXXXXXXXXXXX
            ------------------

            代码为:
            ------------------
            <br/><br/><br/>
            XXXXXXXXXXXXXXXXXX
            ------------------
            第二个卡片显示内容
            ------------------

            XXXXXXXXXXXXXXXXXX
            ------------------
            代码为:
            ------------------
            <br/><br/>
            XXXXXXXXXXXXXXXXXX
            ------------------
            这样配合ONTIMER事件就能实现文字向上移一行的效果
            完整代码如下:
           

<% @ Language=VBScript  %>
            
<%  Response.ContentType="text/vnd.wap.wml"  %>
            
<? xml version="1.0" encoding="gb2312" ?>
            
<! DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
            "http://www.wapforum.org/DTD/ wml_1.1.xml"
>
            
< wml >
            
<%
            
dim mystr
            mystr
="文字文字文字文字文字"
            
'mystr 可由数据库中读出
            const mheight=6
            
'定义滚动高度
            const speed=30
            
'定义滚动速度,快慢自己决定,不过太快小心关不掉^-^
            for i= 1 to mheight
            
if i=mheight then
            ii
=1
            
else
            ii
=i+1
            
end if
            
'判断是不是最后一张卡片
            response.write ("<card id='c"&i&"' title='c"&i&"'
            ontimer='#c"&ii&"'>"&vbcrlf)
            response.write ("<timer value='"&speed&"'/>"&vbcrlf)
            brcount
=mheight-i
            
for j1=0 to brcount-1
            response.write ( 
"<br/>"&vbcrlf)
            
next
            response.write ( mystr
&vbcrlf)
            response.write (
"</card>"&vbcrlf)
            
next
            
'写出全部卡片
            
%>
            
</ wml >

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值