0

孫をクリックすると右に移動するように div をアニメーション化しようとしています。しかし、私は常にタイミングの問題に直面しています。私の疑問は、setTimeout関数を正しく使用していないということです。誰かがエラーを見つけたかどうかを親切に見てもらえますか。jquery以前の経験がないため、関数を使用するよりも自分の関数が機能することを希望しますjquery

function sendrequest(element) {
    var element=element.parentNode.parentNode;
    var i=0;

    while(i<150) {
        right=i+"%";
        myVar=setTimeout(element.style.right=right,3000);
        i++;
    }
}
4

2 に答える 2

2

はい、 async を呼び出す前に同期的にインクリメントしていますsetTimeout。方法は次のとおりです。

var element = element.parentNode.parentNode;
var i=0, myVar;
function sendrequest(){
    if (i < 150) {
       var right = i+"%";
       element.style.right = right;
       i++;
       myVar = setTimeout(sendrequest, 3000);
    }
}
于 2013-01-28T09:34:36.997 に答える
0

TRANSLATE を使用する場所に CSS スタイルを追加してください。これは、setTimeOut を使用するのではなく、基本的にはシステム クロック サイクルであり、厄介な結果をもたらす可能性があるため、これに依存しないことをお勧めします。

次の形式を使用するだけです

    el.on('click', function(){
          document.getElementByid("#id").style = "xyz";

        })

CSSスタイルシートでは、次のようなものを使用します

         .xyz{translate-x://x position in pixels}

詳細については、要素へのスタイルの追加と CSS での翻訳についてお読みください。

これが役に立ちますように

于 2013-01-28T09:36:24.273 に答える