0

よく使うモジュールを使って練習することで、JavaScript のスキルを向上させることにしました。

押すと表示され、もう一度押すと下がる固定フィードバック ボタンを作成しています。すべてが機能しますが、アニメーション化したいと考えています。

私はそれを成し遂げるためにこのコードを使用しました

function rollUp(item){
       if(item.className == "on") {
          item.className="off";
          document.getElementById("container").style.top = "97%";
       } else {
          item.className="on";
          document.getElementById("container").style.top = "78.5%";
       }
    }

今、私はそれらのパーセンテージをアニメーション化していません。ピクセルによるdivのアニメーション化に関する多くの説明を見つけましたが、これが機能しません。

したがって、div を最上位の 97% から 78.5% に移動する必要があります。

何か助けはありますか?

4

2 に答える 2

1

jQueryを使用していますか?はいの場合は、これを試してください:

function rollUp(item){
   if(item.className == "on") {
      item.className="off";
      $("#container").animate({top: "97%"});
   } else {
      item.className="on";
      $("#container").animate({top: "78.5%"});
   }
}
于 2012-06-23T17:36:59.287 に答える
0

ここでは、実際には「アニメーション」である小さなステップで位置を変更するタイムアウトのようなものが必要になります。

function rollUp(){
var ph=document.getElementById("container").style.top.toString();
ph.replace("px","");
var phi=parseInt(ph);
if(phi<800){
       if(item.className == "on") {
          item.className="off";
          document.getElementById("container").style.top = (phi+10).toString()+"px";
       } else {
          item.className="on";
          document.getElementById("container").style.top = "600px";
       }
Window.setTimeout(roolUp(), 300);
}
}
于 2012-06-23T18:27:21.670 に答える