当前第2页 返回上一页
除了func属性外,还可以设置value属性作为默认值,如果对应的func取得的值为undefined或者null时,则会采用value属性定义的默认值,详情可见HT for Web数据绑定手册(http://www.hightopo.com/guide/guide/core/datamodel/ht-datamodel-guide.html)。例如,在这里,'tips1.json'文件中对阳光值进行数据绑定的结果如下:
1
2
3
4
"text"
: {
"func"
:
"attr@sunshine"
,
"value"
:
"阳光值"
},
下面贴上layout()函数的源代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function
layout(node, pos, type){
node.s(
'2d.visible'
,true);
node.setImage(type);
if
(type ==
'tips1'
){
node.setPosition(pos.x + node.getWidth()/2, pos.y - node.getHeight()/2);
node.a({
'sunshine'
:
'阳光值 : '
+ (pos.x/1000).toFixed(2),
'rain'
:
'雨露值 : '
+ (pos.y/1000).toFixed(2),
'love'
:
'爱心值 : ***'
});
}
else
if
(type ==
'tips2'
){
node.setPosition(pos.x , pos.y - node.getHeight()/2);
node.a({
'temp'
:
'温度 : 30'
,
'humidity'
:
'湿度 : '
+Math.
round
(pos.x/100)+
'%'
});
}
else
if
(type ==
'tips3'
){
node.setPosition(pos.x - node.getWidth()/2, pos.y - node.getHeight()/2);
node.a({
'hight'
:
'海拔 : '
+ Math.
round
(pos.y)+
'米'
,
'landscapes'
:
'地貌 : 喀斯特'
});
}
}
云移动
最后,我们的Demo还有个云移动的动画效果,在HT的数据模型驱动的图形组件的设计架构下,动画可理解为将某些属性由起始值逐渐变为目标值的过程,HT提供了ht.Default.startAnim的动画函数,ht.Default.startAnim支持Frame-Based和Time-Based两种方式的动画:
Frame-Based方式用户通过指定frames动画帧数,以及interval动画帧间隔参数控制动画效果;
Time-Based方式用户只需要指定duration的动画周期的毫秒数即可,HT将在指定的时间周期内完成动画。
详情见HT for Web。
在这里我们用的是Time-Based方式,源码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
cloud = dataModel.getDataByTag(
'cloud'
);
parent = dataModel.getDataByTag(
'mountain'
);
round1 = parent.getPosition().x - parent.getWidth()/2 + cloud.getWidth()/2;
round2 = parent.getPosition().x + parent.getWidth()/2 - cloud.getWidth()/2;
end
= round1;
var
animParam = {
duration: 10000,
finishFunc:
function
() {
end
= (
end
== round1) ? round2 : round1;
ht.Default.startAnim(animParam);
},
action:
function
(v, t) {
var
p = cloud.getPosition();
cloud.setPosition(p.x + (
end
- p.x) * v , p.y);
}
};
ht.Default.startAnim(animParam);
以上就是分享HTML5实现弹出框的效果示例 的详细内容,更多文章请关注木庄网络博客 !
返回前面的内容
相关阅读 >>
h5编辑器核心思想的实例分析
详细介绍h5弹性盒布局的使用(父容器属性)
如何使用HTML5 的page visibility api来实现获取焦点js事件
h5的地理定位怎样使用
HTML5 dialog是什么?怎么使用HTML5 中的dialog来实现模拟弹窗?
canvas波浪效果的实现代码
HTML5 的集合
HTML5 调用百度地图api获取当前位置并直接导航目的地的方法
HTML5 的地理定位如何使用
用HTML5 的63行代码实现贪吃蛇游戏
更多相关阅读请进入《HTML5 》频道 >>
¥83.86元 人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » 分享HTML5实现弹出框的效果示例