私は、ドロップダウンメニューをアニメーション化しようとしているJavascriptファイルを持っています。特定のdivをクリックすると、そのファイルに "Toggle"機能が設定されています。ここで私が使用しているスクリプトです:Javascript "For"ループが機能していませんか?
var up = true;
function Toggle(x)
{
if (up)
{
for (var i = x.offsetTop; i <= 0; i++)
{
x.style.top = i;
if (i == 0)
{
up = false;
}
}
}
else if (up == false)
{
for (var i = x.offsetTop; i >= -50; i--)
{
x.style.top = i;
if (i == -50)
{
up = true;
}
}
}
}
私がアニメーション化したいHTMLのdivでは、私は「onclickの」プロパティを「onclickの=トグル(本)」に設定しています。最初のforループは必要に応じて動作します(divのトップオフセットを0に設定します)。ただし、2番目のforループはoffsetTopを設定しません。私はそれをテストしたので、forループが起動していることを知っていて、0から-50までのあらゆる整数を返します。オフセット位置を設定していないのはなぜですか?
アニメーションが表示されるようにするには、何らかの遅延を含める必要があります。また、 'px'のような一番上のスタイルプロパティの単位を指定する必要があります。 –