javascript - 如何使一些基本的 javascript 动画动态化?

标签 javascript

当我的网站加载时,我使用以下 JavaScript 动画使一些图像从屏幕右侧滑入:

var step=8; var step1=16; var step2=12; var step3=6; var step4=4;
function move_img(str) {

var a=document.getElementById('i1').offsetTop; a= a +100;
document.getElementById('i1').style.top= a + "px";

var b=document.getElementById('i2').offsetTop; b= b +100;
document.getElementById('i2').style.top= b + "px";

var c=document.getElementById('i3').offsetTop; c= c +100;
document.getElementById('i3').style.top= c + "px";

var d=document.getElementById('i4').offsetTop; d= d +100;
document.getElementById('i4').style.top= d + "px";

var e=document.getElementById('i5').offsetTop; e= e +100;
document.getElementById('i5').style.top= e + "px"; }

function disp(){

var a=document.getElementById('i1').offsetLeft; var
b=document.getElementById('i2').offsetLeft; var
c=document.getElementById('i3').offsetLeft; var
d=document.getElementById('i4').offsetLeft; var
e=document.getElementById('i5').offsetLeft; if(a > 400){a= a - step;
document.getElementById('i1').style.left= a + "px"; // horizontal
movment step *=0.9948; } if(b > 200 ){b= b - step1;
document.getElementById('i2').style.left= b + "px"; // horizontal
movment step1*=0.992; }

if(c > 350 ){c = c - step2; document.getElementById('i3').style.left=
c + "px"; // horizontal movment step2*=0.993; }

if(d > 1200 ){d = d - step3; document.getElementById('i4').style.left=
d + "px"; // horizontal movment step3*=0.997; } if(e > 1350 ){e = e -
step4; document.getElementById('i5').style.left= e + "px"; //
horizontal movment step4*=0.998; } }

function timer(){ disp(); my_time=setTimeout('timer()',10);

}

虽然这在我的计算机上看起来很棒,但由于它使用像素而不是百分比,所以在不同的宽高比下看起来很糟糕。我该如何解决这个问题?

谢谢!

最佳答案

这里我准备了使用 CSS3 transition 的示例。这是一个具有转换规则的类。在演示中您可以看到它是如何完成的。

.animate{
    left: 0;
    width: 50px;
    -webkit-transition: all 1s;
    transition: all 1s;
}

DEMO

<小时/>

使用 CSS3 动画的另一个案例:

DEMO - Animation

关于javascript - 如何使一些基本的 javascript 动画动态化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16824300/

相关文章:

javascript - 使用 angularjs 的 json..view 内的 HTML 标签

javascript - 使用javascript限制用户输入

javascript - 根据滚动条的位置更改 div 的背景,而不是看起来像已加载

javascript - 现有 JavaScript 应用程序的国际化和本地化

javascript - 捕获 "Warning: [react-router] Location '/foo-bar' 与任何路由不匹配”,如果抛出,则重新加载整个页面

javascript - AJAX 未将日期发布到 PHP

javascript - nodejs中的三元运算符

javascript - 使用正则表达式多个条件验证电子邮件

javascript - 如何将唯一 ID 添加到 Javascript 中动态创建的输入字段?

javascript - FF 30.0 使用 Selenium IDE 2.5.0 填充页面时出现 NS_ERROR_XPC_SECURITY_MANAGER_VETO 错误