先端学習ノートのドラッグ(二)プラグイン編
7015 ワード
すみません、お待たせしました。最近よく出張していますが、プロジェクトがとても忙しいです。参考:http://www.cnblogs.com/lrzw32/p/4696655.html
ソースコード:https://github.com/WZOnePiece/study-draggable
jqueryプラグイン
開始プラグイン化:
sortable.js落菵
sortable.js:独立したJSプラグインです。jqueryはいらないです。Sortableはとても軽いです。圧縮後は2 KBしかないです。html 5ドラッグを採用しています。https://github.com/RubaXa/Sortable
html 5についてドラッグしてください。三O(∩∩)Oはは。
簡単な例:
jQuery UI——sortable葃33781;
sortable.jsもjqueryモードに変換できます。いくつかのファイルを導入する必要があります。ここでは言いません。今jqueryUIというプラグインについて話していますが、中にはsortableのようなドラッグプラグインがあります。
公式サイト:http://jqueryui.com/
簡単なケース:
この文章は比較的に忙しい中に暇を見つけて書いたので、比較的に頼れるかもしれません。具体的に分析する時間がなくて、直接コードをつけました。最初は本人もコードを直接見るのが嫌いです。そうすると、そのような意味がありません。えっと、皆さん、とりあえず我慢してください。問題があります。バグがあればコメントしてもいいです。(_ひ)にこにこと……。
続いてドラッグします。HTML 5の下のドラッグもあります。この文章はちゃんと書きます。勉強の心得をよく共有して、楽しみにしています。
ソースコード:https://github.com/WZOnePiece/study-draggable
jqueryプラグイン
開始プラグイン化:
; (function($, window, undefined) {
$.fn.drag = function(options) {
drag(this)
}
})(jquery, window, undefined);
その他のコードは前編と似ています。http://www.jianshu.com/p/feca77ec252e。ただ、いくつかのdom操作をjquery操作に変更する必要があります。詳細コード:; (function($, window, undefined) {
//
function DragElement(node) {
this.target = node;
node.onselectstart = function() {
return false;//
}
}
DragElement.prototype = {
constructor: DragElement,
setXY: function(x, y) {
this.x = parseInt(x) || 0;
this.y = parseInt(y) || 0;
return this;
},
setTargetCss: function(css) {
$(this.target).css(css);
return this;
}
}
//
function Mouse() {
this.x = 0;
this.y = 0;
}
Mouse.prototype.setXY = function(x, y) {
this.x = parseInt(x);
this.y = parseInt(y);
}
//
var draggableConfig = {
zIndex:10,
dragElement: null,
mouse: new Mouse()
};
var draggableStyle = {
dragging: {
cursor: 'move'
},
defaults: {
cursor: 'auto'
}
}
var $document = $(document);
function drag($ele) {
var $dragNode = $ele;
$dragNode.on({
'mousedown': function(event) {
var dragElement = draggableConfig.dragElement = new DragElement($ele.get(0));
draggableConfig.mouse.setXY(event.clientX, event.clientY);
draggableConfig.dragElement.setXY(dragElement.target.style.left, dragElement.target.style.top)
.setTargetCss({
'zIndex': draggableConfig.zIndex ++,
'position': 'relative'
});
},
'mouseover': function() {
$(this).css(draggableStyle.dragging);
},
'mouseout':function() {
$(this).css(draggableStyle.defaults);
}
})
}
function move(event) {
if(draggableConfig.dragElement) {
var mouse = draggableConfig.mouse,
dragElement = draggableConfig.dragElement;
dragElement.setTargetCss({
'left': parseInt(event.clientX - mouse.x + dragElement.x) + 'px',
'top': parseInt(event.clientY - mouse.y + dragElement.y) + 'px'
});
$document.off('mousemove', move);
setTimeout(function() {
$document.on('mousemove', move);
}, 25);
}
}
$document.on({
"mousemove": move,
'mouseup': function() {
draggableConfig.dragElement = null;
}
});
$.fn.drag = function(options) {
drag(this)
}
})(jQuery, window, undefined);
ドラッグして参照: window.onload = function() {
var dragObj = $("#drag");
dragObj.drag();
}
jQueryプラグインをドラッグします。sortable.js落菵
sortable.js:独立したJSプラグインです。jqueryはいらないです。Sortableはとても軽いです。圧縮後は2 KBしかないです。html 5ドラッグを採用しています。https://github.com/RubaXa/Sortable
html 5についてドラッグしてください。三O(∩∩)Oはは。
簡単な例:
Sortable
1
2
3
4
5
6
7
var el = document.getElementById('sortleft');
new Sortable(el,{
group: "name"
});
もちろんたくさんの方法と配置があります。これは大神さんたちが自分で文書を見てください。(ㄒoㄒ)/~jQuery UI——sortable葃33781;
sortable.jsもjqueryモードに変換できます。いくつかのファイルを導入する必要があります。ここでは言いません。今jqueryUIというプラグインについて話していますが、中にはsortableのようなドラッグプラグインがあります。
公式サイト:http://jqueryui.com/
簡単なケース:
jQuery UI (Draggable) + (Sortable)
$(function() {
$( "#sortable" ).sortable({
revert: true
});
$( "#draggable" ).draggable({
connectToSortable: "#sortable",
helper: "clone",
revert: "invalid"
});
$( "ul, li" ).disableSelection();
});
-
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
もちろん、jqueryUIの中には多くの面白い強力な機能があります。興味のある猿(媛)たちは見てもいいです。この文章は比較的に忙しい中に暇を見つけて書いたので、比較的に頼れるかもしれません。具体的に分析する時間がなくて、直接コードをつけました。最初は本人もコードを直接見るのが嫌いです。そうすると、そのような意味がありません。えっと、皆さん、とりあえず我慢してください。問題があります。バグがあればコメントしてもいいです。(_ひ)にこにこと……。
続いてドラッグします。HTML 5の下のドラッグもあります。この文章はちゃんと書きます。勉強の心得をよく共有して、楽しみにしています。