<script type="text/javascript">
$.fn.extend({
drag : function(){
this.bind("mousedown",function(e){
var obj = $(this);
obj.css("position","absolute");
var x0 = isNaN(parseInt(obj.css("left"))) ? this.offsetLeft : parseInt(obj.css("left"));
var y0 = isNaN(parseInt(obj.css("top"))) ? this.offsetTop : parseInt(obj.css("top"));
var x1 = e.clientX;
var y1 = e.clientY;
$(document).bind("mousemove",function(e){
var x2 = e.clientX;
var y2 = e.clientY;
obj.css("left",x2-x1+x0).css("top",y2-y1+y0);
return false;
});
return false;
})
.bind("mouseup",function(){
$(document).unbind("mousemove");
return false;
});
},
undrag : function(){
this.unbind("mousedown").unbind("mouseup");
}
});
$(function(){
$("*").toggle(function(){
$(this).css({border:"1px solid red"}).drag();
},function(){
$(this).css({border:"none"}).undrag();
});
});
</script>