2011-07-07 14 views
0

この関数が2回呼び出される理由は何ですか?基本的には、コンテナが100px右に移動するのは、コンテナが他の方向に大きく移動する場合です。私はこのためのjQuery-latest.min使用とjQuery-UI-1.8.14(コア、ウィジェット、マウス、ドラッグ可能な)jquery draggable関数が2回呼び出される

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#container").draggable({axis: "x", drag: function() { 
     if($(this).offset().left < -100) { 
     $(this).data('draggable').offset.click.left -= 100; 
     } 
    } 
    }); 
}); 
</script> 

<div id="container"> 
    <div class="item">1</div> 
    <div class="item">2</div> 
    <div class="item">3</div> 
    <div class="item">4</div> 
</div> 

答えて

0

ドラッグイベントは、ドラッグコンテナが移動するたびに呼び出されます。このイベントは、コールバックから初めてブラウザが再描画できるようになるまで、数回トリガされます。

constrainオプションを使用してコンテナ内のdivを制約することや、コンテナの外に出た場合にオブジェクトを元に戻すことができます。

関連する問題