制作不带jquery的可拖动元素



我想要一种简单的方法来拖动网页上的元素,并允许人们在重新访问时在缓存中对其进行自定义。我不在乎它是否需要一点flash,但由于某种原因,我的服务器不会加载jquery,所以没有jquery。

var mousePosition;
var offset = [0,0];
var div;
var isDown = false;
div = document.createElement("div");
div.style.position = "absolute";
div.style.left = "0px";
div.style.top = "0px";
div.style.width = "100px";
div.style.height = "100px";
div.style.background = "red";
div.style.color = "blue";
document.body.appendChild(div);
div.addEventListener('mousedown', function(e) {
isDown = true;
offset = [
div.offsetLeft - e.clientX,
div.offsetTop - e.clientY
];
}, true);
document.addEventListener('mouseup', function() {
isDown = false;
}, true);
document.addEventListener('mousemove', function(event) {
event.preventDefault();
if (isDown) {
mousePosition = {
x : event.clientX,
y : event.clientY
};
div.style.left = (mousePosition.x + offset[0]) + 'px';
div.style.top  = (mousePosition.y + offset[1]) + 'px';
}
}, true);

感谢可执行

对于答案

最新更新