Javascript 浏览器跳过div的动画

Javascript 浏览器跳过div的动画,javascript,function,animation,Javascript,Function,Animation,有经验的程序员 我编写了一个简单的函数来设置div的动画: <script> function okenko(y1, y2, dy) { vyska = document.getElementById("okenko"); y1=y1+dy; if (y1<=y2) { vyska.style.bottom = y1+'px'; alert(y1); setTimeout(okenko(y1, y2, dy),30); } else { vyska.st

有经验的程序员

我编写了一个简单的函数来设置div的动画:

<script>
function okenko(y1, y2, dy) 
{
vyska = document.getElementById("okenko");
y1=y1+dy;

if (y1<=y2) {
  vyska.style.bottom = y1+'px';
  alert(y1);
  setTimeout(okenko(y1, y2, dy),30);
  }
else {
  vyska.style.bottom = y2+'px'
  }
}
</script>

函数okenko(y1、y2、dy)
{
vyska=document.getElementById(“okenko”);
y1=y1+dy;
如果(y1这条线:

setTimeout(okenko(y1, y2, dy),30);
立即调用
okenko(y1,y2,dy)
,并将其返回值(
未定义的
)传递到
设置超时
(最终什么也不做),就像
foo(bar())
调用
bar
并将其返回值传递到
foo

你可能是说:

setTimeout(function() {
    okenko(y1, y2, dy);
}, 30);
这一行:

setTimeout(okenko(y1, y2, dy),30);
立即调用
okenko(y1,y2,dy)
,并将其返回值(
未定义的
)传递到
设置超时
(最终什么也不做),就像
foo(bar())
调用
bar
并将其返回值传递到
foo

你可能是说:

setTimeout(function() {
    okenko(y1, y2, dy);
}, 30);

顺便说一句,最好用英语而不是捷克语命名函数:)@OndrejSvejdar:为什么不用你喜欢的东西呢?顺便说一句。用英语而不是捷克语命名函数是一个很好的做法:)@OndrejSvejdar:为什么不用你喜欢的东西呢?@OndrejSvejdar:呃,嗯,我不知道你的意思。那里显然有一个
。-@OndrejSvejdar:呃,嗯,我不知道你的意思e显然是一个
在那里