その使用法は、これまでに説明した他のプラグインと似ています。まず、「new」キーワードを使用して Drag.Move オブジェクトを作成し、それを変数に割り当てます。次に、オプションとイベントを定義します。作業はこれだけですが、以下の例で説明されている IE の CSS の癖に注意する必要があります。
基本的な使用法
Drag.Move
独自のドラッグ オブジェクトを作成するのは非常に簡単です。以下の例を見てください。 Drag.Move オブジェクトのオプションとイベントを Drag のオプションとイベントからどのように分離したかに注目してください。 Drag.Move クラスは Drag クラスを拡張し、Drag クラスのオプションとイベントを受け入れることができるようにします。今日は Drag クラスについて具体的に説明するつもりはありませんが、それでもいくつかの便利なオプションとイベントについて見ていきたいと思います。以下のコードを見て詳細を学んでください。
参照コード:
droppables:dropElements ,
container:ragContainer ,
// ドラッグ.Move イベント
// Drag.Move 関数には、ドラッグ可能な要素 (この例では 'el') が渡されます
// そして、ドラッグ可能な要素 (この例では 'dr') を受け入れる要素
onDrop: function(el, dr) {
// 次の文はおそらく次のことを意味します:
// ドラッグした要素が、ドラッグした要素を受け入れることができる要素の範囲内にない場合
if ( ! dr) {
// 何もしません
}
// それ以外の場合 (論理的に言えば、
// ドラッグしている要素がスコープ内の要素のドラッグを受け入れる要素に到達した場合)
/ / このイベントを実行します
else {
// ここで何かを実行します
},
onLeave: function(el, dr) {
// このイベントは次の場合にトリガーされます。ドラッグされた要素がドラッグ オブジェクトを受け入れる要素を離れる
},
onEnter: function(el, dr) {
// このイベントは、ドラッグされた要素がドラッグを受け入れる要素を離れるときにトリガーされます。オブジェクト。移動要素がオブジェクトのドラッグを受け入れる要素に入るとトリガーされます。
}
});
いくつかのドラッグ イベントとオプション
ドラッグには多くのオプションとイベントがありますが、ここではごく一部のみを取り上げます。
スナップ - オプション
スナップ オプションを使用すると、ドラッグを開始する前にユーザーのマウスが移動する最小ピクセル数を設定できます。デフォルトは 6 ですが、任意の数値または値が数値である変数に設定できます。明らかに、ここには合理的な制限がいくつかあります (たとえば、スナップを 1000 に設定しても役に立ちません) が、これはユーザー エクスペリエンスをカスタマイズするときに役立ちます。
参照コード: [コードをコピー] [コードを保存]
var myDrag = new Drag.Move(dragElement, {
// ドラッグ オプション
snap: 10
}); handle - オプション
handle は、ドラッグ要素にコントロール オブジェクトを追加します。このコントロール オブジェクトは、「掴む」(ドラッグする) ことができる唯一の要素となり、他の要素を使って他のことを行うことができるようになります。コントロール オブジェクトを設定するには、この要素を呼び出すだけです。
参照コード:
// ここでクラスセレクターは配列を作成します
// これにより、要素のドラッグを受け入れることができる複数の要素を持つことにした場合、複数のコントロール オブジェクトを簡単に追加できるようになります
varragHandle = $('drag_handle '); >var myDrag = new Drag.Move(dragElement, {
// ドラッグ オプション
ハンドル:ragHandle
});
onStart—Event
onStart は単なる名前のように、このイベントはドラッグの開始時にトリガーされます。大きなスナップを設定した場合、このイベントは、マウスが要素から指定されたスナップ値よりも離れるまで発生しません。
参照コード:
var myDrag = new Drag.Move(dragElement, {
// ドラッグ オプション
// ドラッグ オプションは、ドラッグされた要素をパラメータとして渡します
onStart: function(el) {
// 開始時にここに配置しますドラッグ やりたいことすべて
}
});
onDarg - イベント
この onDrag イベントは、要素をドラッグすると継続的にトリガーされます。
参照コード:
var myDrag = new Drag. Move(dragElement , {
//ドラッグ オプション
//ドラッグ オプションは、ドラッグされた要素をパラメータとして渡します
onDrag: function(el) {
//ドラッグを開始します。やりたいことは何でもできます。
}
});
onComplete - イベント
最後に、ドラッグした要素をドロップしたときに発生する onComplete イベントがあります。ドラッグ可能な要素を受け入れる要素内に配置します。
参照コード:
var myDrag = new Drag.Move(dragElement, {
// ドラッグ オプション
// ドラッグ オプションは、ドラッグされた要素をパラメータとして渡します
onComplete: function(el) {
//ドラッグを開始します。やりたいことは何でもできます。
}
});
コード例
さまざまなイベントがトリガーされたときにさまざまなコンテンツを強調表示するように、今のコードを組み合わせてみましょう。そして、上で見たオプションを使用して Drag.Move オブジェクトを構成します。
参照コード:
コードをコピー コードは次のとおりです:
window.addEvent('domready', function() {
varragElement = $('drag_me');
varragContainer = $('drag_cont');
varragHandle = $('drag_me_handle');
vardropElement = $$('.draggable');
var completeEl = $('complete'); >varragIndicatorEl = $('drag_ind');
var enterDrop = $('enter');
var beginDrop = $('drop_in_droppable');
var myDrag = new Drag.Move(dragElement, {
// Drag.Move选项
droppables:dropElement,
container:ragContainer,
// Drag选项
ハンドル:dragHandle ,
// Drag.Move イベント
onDrop: function(el, dr) {
if (!dr) { }
else {
dropDrop.highlight('#FB911C'); //橙色闪烁
el.highlight('#fff'); //白色闪烁
dr.highlight('#667C4A'); //绿色闪烁
}; >onLeave: function(el, dr) {
leaveDrop.highlight('#FB911C') //橙色闪烁
},
onEnter: function(el, dr) {
enterDrop.highlight ('#FB911C'); //橙色闪烁
},
// イベント
onStart: function(el) {
startEl.highlight('#FB911C');
},
onDrag: function(el) {
dragIndicatorEl.highlight('#FB911C'); //橙色闪烁
},
onComplete: function(el) {
completeEl.highlight('#FB911C'); //オレンジ色闪烁
}
});
});
次の CSS に注意してください: IE では、Drag.Move のコンテナを適切に指定できるように、以下の CSS でその位置を明確に指定する必要があります。コンテナの配置位置は「位置:相対」、可動要素の配置位置は「位置:絶対」であり、他のデバイスにある場合は、可動要素のleftとtopプロパティが必ず設定されます。器構築および準拠此规则,你可略这一部分:
参照代:
复制代
padding: 0 }
/* 保護可能元素有"position:Absolute" */
/* 并设設置開始時のleftおよびtopプロパティ */
#drag_me {
width: 100px
height: 100px
background-color: #333
位置: 絶対
上: 0
左: 0
}
#drop_here {
幅: 200px
高さ: 200px
背景色: # eee
}
/* 保護拖動的な容器有“position:relative” */
#drag_cont {
background-color: #ccc
height: 600px
width: 500px
位置: 相対
margin-top: 100px
margin-left: 100px
}
#drag_me_handle {
width: 100%
height: auto
background- color: #666
}
#drag_me_handle スパン {
表示: ブロック
パディング: 5px
}
.indicator {
幅: 100%
高さ: 自動
background-color: #0066FF
border-bottom: 1px ソリッド #eee
}
.indicator scan {
padding: 10px
display: block
}
.draggable {
width: 200px
height: 200px
background-color: blue
}
现在我们復元立我们的HTML:
参考代码:
复制代
声明:この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。