我想让div成为可拖动的,我知道这可以使用Jquery插件来实现,但我不想使用,因为我只需要可拖动的函数。那么,我如何才能使可拖动函数我已经做到了呢?
$(document).ready(function(e){
$("#eve").mousemove(function(e){
var p=$(this);
var offset = p.offset();
var ol=offset.left;
var ot=offset.top;
var l=e.pageX-ol;
var t=e.pageY-ot;
var eX=e.pageX;
var eY=e.pageY;
var htm="left:"+ol+" top:"+ot+"<br/>";
htm+="eX:"+eX+" eY:"+eY+"<br/>";
htm+="curX:"+l+" curY:"+t+"<br/>";
htm+="l:"+(ol-l)+" t:"+(ot-t);
p.html(htm);
p.css({left:((eX-3))+"px",top:((eY-3))+"px"});
});发布于 2012-06-05 20:06:10
您需要定义多个函数来处理mousedown事件来启动拖动,定义mouseup来停止拖动,并定义适当的mousemove来处理拖动时的移动,请检查我找到的https://gist.github.com/1330150的要点
发布于 2012-06-05 20:16:44
这是我的快速即兴表演。也许这就是你要找的。
$("div").on({
mousemove: function(e) {
var el = $(this);
var data = el.data("down");
if (data) {
el.css({
left: e.pageX - data.left,
top: e.pageY - data.top
});
}
},
mousedown: function(e) {
var el = $(this);
var pos = el.offset();
el.data("down", {
left: e.pageX - pos.left,
top: e.pageY - pos.top
});
},
mouseup: function() {
$(this).data("down", false);
}
});演示: http://jsfiddle.net/UBKBb/
https://stackoverflow.com/questions/10896949
复制相似问题