为正方形设置动画

时间:2014-05-10 16:01:35

标签: javascript jquery html css

我正试图在链接http://www.gamesforthebrain.com/game/twincol/中移动这样的按钮,但我无法移动它。使用css动画我可以直接动画移动。是否有可能离开屏幕进入屏幕并进入一个特殊的运动和方向到像链接这样的盒子。这就是我所做的。

<div id="box" style='width:200px;height:200px;border:1px solid black;'/>

    <button id="one" type="button" >Button1</button>
    <button id="two" type="button" >Button2</button>
<button id="three" type="button">Button3</button>

<style>

button{
-webkit-appearance:none;width:40px;height:40px;padding: 0;text-align: center;vertical-align: middle;border: 1px solid red;font-size:10px;font-weight:bold;
}

#one, #two, #three
{
position:relative;

}
#one
{
-webkit-animation:levelseven 16s  infinite;
    -webkit-animation-direction:alternate;




}

#two
{

animation-direction:alternate;

/* Safari and Chrome */
-webkit-animation:levelseven_1 8s  infinite;

}

#three
{

animation-direction:alternate;

/* Safari and Chrome */
-webkit-animation:levelseven_2 10s  infinite;

}


@-webkit-keyframes levelseven /* Safari and Chrome */
{
0%   { left:0px; top:0px;}
25%  { left:200px; top:0px;}
50%  { left:100px; top:200px;}
75%  { left:150px; top:50px;}
100% {background:cyan; left:0px; top:0px;}
}

@-webkit-keyframes levelseven_1 /* Safari and Chrome */
{
0%   { left:0px; top:0px;}
50%  {background:darkgoldenrod; left:0px; top:200px;}
100% { left:0px; top:0px;}
  }


@-webkit-keyframes levelseven_2 /* Safari and Chrome */
{
0%   { left:0px; top:0px;}
50%  {left:200px; top:0px;}
100% {left:0px; top:0px;}
}

</style>

Fiddle

2 个答案:

答案 0 :(得分:1)

如果你想通过CSS3动画来完成它。那真的很复杂,因为你必须编写每个按钮的许多关键帧代码。

Demo

首先,我让大div overflow:hidden。只想通过移动第一个按钮来做一个例子。我在关键帧中添加50.1%,50.2%和50.3%。可能这些想法可以帮助你重写HTML page.JS代码建议实现这种效果。

答案 1 :(得分:-1)

您无法使用关键帧动画。

你必须使用javascript。考虑使用模运算符%来获得无限边界的效果。

另外,为了避免处理div的过多复杂性,你应该使用canvas而不是div。

所以,去学习JS,Canvas API以及%运算符的作用 - 那么你可以解决你的问题。