クリック時に正しい値が得られない

Bouzaid

次のコードで示すように、スライダーと左右の2つのボタンがあります。各ボタンに2つのイベントハンドラーがあります。

クリックして遷移が完了するのを待つと、すべてが正常に機能しますが、高速の連続クリックをクリックすると、期待どおりに正確な数値がフロートされません(以下のHTMLに示されているように)

これはJavascriptとJqueryが混在しています:

var left = document.getElementById("left");
var right = document.getElementById("right");
var container = document.getElementById("container");


    left.addEventListener("click", function(){
        var marginLeft = container.style.marginLeft;
        var parsedMarginLeft = parseInt(marginLeft);
        console.log(parsedMarginLeft);
        if(parsedMarginLeft > -800) {
            $('#container').animate({marginLeft: '-=200px'}, 0);
        }
    });



    right.addEventListener("click", function(){
        var marginLeft = container.style.marginLeft;
        var parsedMarginLeft = parseInt(marginLeft);
        console.log(parsedMarginLeft);

        if(parsedMarginLeft < 0) {
            $('#container').animate({marginLeft: '+=200px'}, 0);
        }
    });

そして、これは私がクリックした後に取得するhtmlです:

<div id="container" style="width: 1800px; margin-left: -127.879px;">

</div>
gaetanoM

:animatedセレクターをイベントリスナーの最初の行として使用して、コンテナーdivがアニメーションを実行しているかどうかをテストできます。

var left = document.getElementById("left");
var right = document.getElementById("right");
var container = document.getElementById("container");


left.addEventListener("click", function(){
  if ($('#container:animated').length == 0) {
    var marginLeft = container.style.marginLeft;
    var parsedMarginLeft = parseInt(marginLeft);
    console.log(parsedMarginLeft);
    if(parsedMarginLeft > -800) {
      $('#container').stop().animate({marginLeft: '-=200px'}, 0);
    }
  }
});



right.addEventListener("click", function(){
  if ($('#container:animated').length == 0) {
    var marginLeft = container.style.marginLeft;
    var parsedMarginLeft = parseInt(marginLeft);
    console.log(parsedMarginLeft);

    if (parsedMarginLeft < 0) {
      $('#container').animate({marginLeft: '+=200px'}, 0);
    }
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<button id="left">left</button>
<button id="right">right</button>
<div id="container" style="width: 1800px; margin-left: 0px;background-color: red;">
aaaaaaaaaaaaaaaaa
</div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SQLクエリで正しい結果が得られない

分類Dev

SQLクエリが正しく機能せず、完全に細かいクエリで出力が得られない

分類Dev

レルムクエリで正しい結果が得られない

分類Dev

SQL ISNULLチェックで正しい結果が得られない

分類Dev

クリック時にネストされたli値が機能しない

分類Dev

正規表現のOracleデータベースクエリで正しい結果が得られない

分類Dev

インデックス0に対してのみ正しいリターンが得られるのはなぜですか

分類Dev

クイックソートの問題-正しい結果が得られない

分類Dev

numpypolyfitで正しい値が得られない

分類Dev

クエリでGROUP_CONCATを使用して正しい結果が得られない

分類Dev

2カウントクエリを結合しても正しい結果が得られない

分類Dev

複数の結合で正しい結果が得られないLinqクエリ

分類Dev

C++ のインクリメント演算子で正しい結果が得られない

分類Dev

gteおよびlteクエリを使用してmongodbで正確な結果が得られない

分類Dev

ReactJsの[スイッチ名]ボタンをクリックした後、適切な出力が得られない

分類Dev

偶数と奇数のインデックス文字を別々に印刷すると、なぜ正しい出力が得られないのですか?

分類Dev

ボタンクリック時にTextFieldを印刷-正しく印刷されない

分類Dev

クリック時にクラスが切り替えられない

分類Dev

右クリックメニューが正しい位置に表示されない

分類Dev

単純なクエリから結果が得られない

分類Dev

クリック時のjqueryが正しい値を返していません

分類Dev

moment.jsで時間を引くと正しい出力が得られない

分類Dev

jqueryなぜ正しい値が得られないのですか?

分類Dev

クリック時にReactフックが更新されない

分類Dev

スピナーでアイテムをクリックしてもトーストが得られない

分類Dev

リッチクエリで結果が得られない-Hyeperledger Fabric v1.0

分類Dev

Mysql:IN句と内部クエリで正確な結果が得られないクエリ

分類Dev

IBM Watson Assistant:「TryIt」で正しい結果が得られるのに、クライアントコードが正しくないのはなぜですか?

分類Dev

この質問へのクエリを実行しても値が得られない

Related 関連記事

  1. 1

    SQLクエリで正しい結果が得られない

  2. 2

    SQLクエリが正しく機能せず、完全に細かいクエリで出力が得られない

  3. 3

    レルムクエリで正しい結果が得られない

  4. 4

    SQL ISNULLチェックで正しい結果が得られない

  5. 5

    クリック時にネストされたli値が機能しない

  6. 6

    正規表現のOracleデータベースクエリで正しい結果が得られない

  7. 7

    インデックス0に対してのみ正しいリターンが得られるのはなぜですか

  8. 8

    クイックソートの問題-正しい結果が得られない

  9. 9

    numpypolyfitで正しい値が得られない

  10. 10

    クエリでGROUP_CONCATを使用して正しい結果が得られない

  11. 11

    2カウントクエリを結合しても正しい結果が得られない

  12. 12

    複数の結合で正しい結果が得られないLinqクエリ

  13. 13

    C++ のインクリメント演算子で正しい結果が得られない

  14. 14

    gteおよびlteクエリを使用してmongodbで正確な結果が得られない

  15. 15

    ReactJsの[スイッチ名]ボタンをクリックした後、適切な出力が得られない

  16. 16

    偶数と奇数のインデックス文字を別々に印刷すると、なぜ正しい出力が得られないのですか?

  17. 17

    ボタンクリック時にTextFieldを印刷-正しく印刷されない

  18. 18

    クリック時にクラスが切り替えられない

  19. 19

    右クリックメニューが正しい位置に表示されない

  20. 20

    単純なクエリから結果が得られない

  21. 21

    クリック時のjqueryが正しい値を返していません

  22. 22

    moment.jsで時間を引くと正しい出力が得られない

  23. 23

    jqueryなぜ正しい値が得られないのですか?

  24. 24

    クリック時にReactフックが更新されない

  25. 25

    スピナーでアイテムをクリックしてもトーストが得られない

  26. 26

    リッチクエリで結果が得られない-Hyeperledger Fabric v1.0

  27. 27

    Mysql:IN句と内部クエリで正確な結果が得られないクエリ

  28. 28

    IBM Watson Assistant:「TryIt」で正しい結果が得られるのに、クライアントコードが正しくないのはなぜですか?

  29. 29

    この質問へのクエリを実行しても値が得られない

ホットタグ

アーカイブ