Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
黛琳ghz
2048
提交
433127cd
2048
项目概览
黛琳ghz
/
2048
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
2048
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
433127cd
编写于
3月 10, 2014
作者:
G
Gabriele Cirulli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove use of class list in actuator, fix animations for firefox
上级
a1e98e0d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
59 addition
and
26 deletion
+59
-26
js/html_actuator.js
js/html_actuator.js
+20
-7
style/main.css
style/main.css
+32
-15
style/main.scss
style/main.scss
+7
-4
未找到文件。
js/html_actuator.js
浏览文件 @
433127cd
...
...
@@ -44,24 +44,37 @@ HTMLActuator.prototype.addTile = function (tile) {
var
position
=
tile
.
previousPosition
||
{
x
:
tile
.
x
,
y
:
tile
.
y
};
positionClass
=
this
.
positionClass
(
position
);
element
.
classList
.
add
(
"
tile
"
,
"
tile-
"
+
tile
.
value
,
positionClass
);
element
.
textContent
=
tile
.
value
;
// We can't use classlist because it somehow glitches when replacing classes
var
classes
=
[
"
tile
"
,
"
tile-
"
+
tile
.
value
,
positionClass
];
this
.
applyClasses
(
element
,
classes
);
this
.
tileContainer
.
appendChild
(
element
)
;
element
.
textContent
=
tile
.
value
;
if
(
tile
.
previousPosition
)
{
// Make sure that the tile gets rendered in the previous position first
window
.
requestAnimationFrame
(
function
()
{
element
.
classList
.
remove
(
element
.
classList
[
2
]
);
element
.
classList
.
add
(
self
.
positionClass
({
x
:
tile
.
x
,
y
:
tile
.
y
}));
classes
[
2
]
=
self
.
positionClass
({
x
:
tile
.
x
,
y
:
tile
.
y
}
);
self
.
applyClasses
(
element
,
classes
);
// Update the position
});
}
else
if
(
tile
.
mergedFrom
)
{
element
.
classList
.
add
(
"
tile-merged
"
);
classes
.
push
(
"
tile-merged
"
);
this
.
applyClasses
(
element
,
classes
);
// Render the tiles that merged
tile
.
mergedFrom
.
forEach
(
function
(
merged
)
{
self
.
addTile
(
merged
);
});
}
else
{
element
.
classList
.
add
(
"
tile-new
"
);
classes
.
push
(
"
tile-new
"
);
this
.
applyClasses
(
element
,
classes
);
}
// Put the tile on the board
this
.
tileContainer
.
appendChild
(
element
);
};
HTMLActuator
.
prototype
.
applyClasses
=
function
(
element
,
classes
)
{
element
.
setAttribute
(
"
class
"
,
classes
.
join
(
"
"
));
};
HTMLActuator
.
prototype
.
normalizePosition
=
function
(
position
)
{
...
...
style/main.css
浏览文件 @
433127cd
...
...
@@ -143,6 +143,8 @@ hr {
border-radius
:
6px
;
width
:
500px
;
height
:
500px
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
.game-container
.game-message
{
display
:
none
;
...
...
@@ -336,29 +338,35 @@ hr {
@-webkit-keyframes
appear
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0
);
}
-webkit-transform
:
scale
(
0
);
-moz-transform
:
scale
(
0
);
}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
}
}
-webkit-transform
:
scale
(
1
);
-moz-transform
:
scale
(
1
);
}
}
@-moz-keyframes
appear
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0
);
}
-webkit-transform
:
scale
(
0
);
-moz-transform
:
scale
(
0
);
}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
}
}
-webkit-transform
:
scale
(
1
);
-moz-transform
:
scale
(
1
);
}
}
@keyframes
appear
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0
);
}
-webkit-transform
:
scale
(
0
);
-moz-transform
:
scale
(
0
);
}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
}
}
-webkit-transform
:
scale
(
1
);
-moz-transform
:
scale
(
1
);
}
}
.tile-new
{
-webkit-animation
:
appear
200ms
ease
100ms
;
...
...
@@ -368,33 +376,42 @@ hr {
@-webkit-keyframes
pop
{
0
%
{
-webkit-transform
:
scale
(
0
);
}
-webkit-transform
:
scale
(
0
);
-moz-transform
:
scale
(
0
);
}
50
%
{
-webkit-transform
:
scale
(
1.2
);
}
-webkit-transform
:
scale
(
1.2
);
-moz-transform
:
scale
(
1.2
);
}
100
%
{
-webkit-transform
:
scale
(
1
);
}
}
-webkit-transform
:
scale
(
1
);
-moz-transform
:
scale
(
1
);
}
}
@-moz-keyframes
pop
{
0
%
{
-webkit-transform
:
scale
(
0
);
}
-webkit-transform
:
scale
(
0
);
-moz-transform
:
scale
(
0
);
}
50
%
{
-webkit-transform
:
scale
(
1.2
);
}
-webkit-transform
:
scale
(
1.2
);
-moz-transform
:
scale
(
1.2
);
}
100
%
{
-webkit-transform
:
scale
(
1
);
}
}
-webkit-transform
:
scale
(
1
);
-moz-transform
:
scale
(
1
);
}
}
@keyframes
pop
{
0
%
{
-webkit-transform
:
scale
(
0
);
}
-webkit-transform
:
scale
(
0
);
-moz-transform
:
scale
(
0
);
}
50
%
{
-webkit-transform
:
scale
(
1.2
);
}
-webkit-transform
:
scale
(
1.2
);
-moz-transform
:
scale
(
1.2
);
}
100
%
{
-webkit-transform
:
scale
(
1
);
}
}
-webkit-transform
:
scale
(
1
);
-moz-transform
:
scale
(
1
);
}
}
.tile-merged
{
z-index
:
20
;
...
...
style/main.scss
浏览文件 @
433127cd
...
...
@@ -155,6 +155,8 @@ hr {
border-radius
:
$tile-border-radius
*
2
;
width
:
$field-width
;
height
:
$field-width
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
.game-message
{
...
...
@@ -342,15 +344,15 @@ hr {
@include
keyframes
(
appear
)
{
0
%
{
// -webkit-transform: scale(1.5);
opacity
:
0
;
-webkit-transform
:
scale
(
0
);
-moz-transform
:
scale
(
0
);
}
100
%
{
// -webkit-transform: scale(1);
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
-moz-transform
:
scale
(
1
);
}
}
...
...
@@ -362,16 +364,17 @@ hr {
@include
keyframes
(
pop
)
{
0
%
{
-webkit-transform
:
scale
(
0
);
// opacity: 0
;
-moz-transform
:
scale
(
0
)
;
}
50
%
{
-webkit-transform
:
scale
(
1
.2
);
-moz-transform
:
scale
(
1
.2
);
}
100
%
{
-webkit-transform
:
scale
(
1
);
// opacity: 1
;
-moz-transform
:
scale
(
1
)
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录