2017-02-22 3 views
-1

を停止します対応する矢印がクリックされます。ここではタイルを前方に移動するために私のコードの簡易版です。jQueryのアニメーションは、私は次のコードを使用してdiv要素の摺動リストを作成し、ダブルクリックで半ばのdiv

function nextTile() { 
    var tileWidth = /*Width of each div*/; 
    var position = parseInt($(".tile").css("right")); 
    position += tileWidth; 
    var rightPosition = position + "px"; 
    $(".tile").animate({right:rightPosition}); //in my code each of the divs in the row move position 
} 

}

コードは、私は矢印の上にあまりにも急速に押した場合のdivは適切な長さをスライドさせないであろうことを除いて正常に動作します。代わりに、彼らは途中でスライドして、divの半分が目に見えるように私を残しておきます。

+0

以前のクリックがまだアニメーションされたかどうかを確認したいようですね。次に、アニメーションを直ちに完了するか、アニメーションが終了するまでクリックを無視するかを決定する必要があります。 http://stackoverflow.com/questions/6992626/jquery-animation-detect-if-animating – Malk

答えて

0

私はMalkさんのコメントと彼の添付リンクを使用して私のコードに以下の追加をした:jQuery animation detect if animating?

function nextTile() { 
    var tileWidth = /*Width of each div*/; 
    var position = parseInt($(".tile").css("right")); 
    position += tileWidth; 
    var rightPosition = position + "px"; 
    var tileLock = $(".tile").is(':animated'); // new code 
    if (tileLock === false)     // new code 
      $(".tile").animate({right:rightPosition}); 
}  
関連する問題