私は JQuery UI を使用して要素をドラッグ可能にし、コードで開始、ドラッグ、および終了時に何をするかを指定できます。
しかし、左にドラッグして別の関数を右にドラッグして実行するにはどうすればよいでしょうか?
ドラッグ可能な軸を既に x 軸のみに制限しています。したがって、要素は左または右にのみ移動できます。
私は JQuery UI を使用して要素をドラッグ可能にし、コードで開始、ドラッグ、および終了時に何をするかを指定できます。
しかし、左にドラッグして別の関数を右にドラッグして実行するにはどうすればよいでしょうか?
ドラッグ可能な軸を既に x 軸のみに制限しています。したがって、要素は左または右にのみ移動できます。
このデモをチェックしてください:http://jsfiddle.net/3NtS9/
各アトミック ドラッグ操作で前のイベント座標と照合することで、これを行うことができます。
var prevX = -1;
$('div').draggable({
drag: function(e) {
//console.log(e.pageX);
if(prevX == -1) {
prevX = e.pageX;
return false;
}
// dragged left
if(prevX > e.pageX) {
console.log('dragged left');
}
else if(prevX < e.pageX) { // dragged right
console.log('dragged right');
}
prevX = e.pageX;
}
});
これを行う簡単な方法は次のとおりです。
$( "#draggable" ).draggable({
drag: function( event, ui ) {
$(this).text(ui.originalPosition.left > ui.position.left ? 'left' : 'right');
}
});
start
イベントとstop
イベントを処理し、停止イベントで位置デルタを決定して、左または右に移動したかどうかを取得することをお勧めします。