-1

回転プラグインを使用して div を回転させるために、いくつかの J-Query を使用しました。問題は、回転し続けていることですが、5回回転してから停止する必要があります。これまでの私のコードは次のとおりです。

プラグイン:

<script type="text/javascript" src="http://jqueryrotate.googlecode.com/svn/trunk/jQueryRotate.js"></script>

脚本:

$(document).ready(function(){
var rotation = function (){
$("#pencil").rotate({
  angle:0, 
  animateTo:2,
  duration:200,
  callback: rotationBack
});
}
var rotationBack = function() {
$("#pencil").rotate({
  angle:0, 
  animateTo:-2,
  duration:200,
  callback: rotation
});
}
rotation();
});

誰でも助けてもらえますか?

4

1 に答える 1

1

コードには回数や繰り返しを制限するものは何もないため、関数は互いに無期限に呼び出し続けます。

これを実装するより良い方法がありますが、機能する方法は次のとおりです。

$("#pencil")のプロパティとして繰り返し回数を格納し、data必要に応じてデクリメントします。

Jquery は、次のインターフェイスを使用して、データをデータ オブジェクトとして DOM 要素に格納できます。

el.data('key', val); //stores value in key
el.data('key'); //retrieve key's value


var rotation = function (times) {
    var el = $("#pencil");
    if(typeof times == 'number'){
        el.data('repeatRotation',times);
    } else {
        times = el.data('repeatRotation')-1;
        el.data('repeatRotation',times);
    }

    if(times > 0){
        $("#pencil").rotate({
            ...
        });
    }
}

次のように呼び出すだけです。

rotation(5);

デモ

于 2013-08-31T10:22:19.683 に答える