返回列表 發帖
本帖最後由 Mesak 於 2011-5-12 17:26 編輯

http://jsfiddle.net/mesak/6FdUh/1/
var rDrag = {
    o: null,
    init: function (o) {
        if( typeof(o.length) == 'number' ){
            for(x in o){
                this.init(o[x]);
            }
        }else if( typeof(o) == 'object' ){
           o.onmousedown = this.start;         
        }
    },
    start: function (e) {
        var o;
        e = rDrag.fixEvent(e);
        e.preventDefault && e.preventDefault();
        rDrag.o = o = this;
        o.x = e.clientX - rDrag.o.offsetLeft;
        o.y = e.clientY - rDrag.o.offsetTop;
        document.onmousemove = rDrag.move;
        document.onmouseup = rDrag.end;
    },
    move: function (e) {
        e = rDrag.fixEvent(e);
        var oLeft, oTop;
        oLeft = e.clientX - rDrag.o.x;
        oTop = e.clientY - rDrag.o.y;
        rDrag.o.style.left = oLeft + 'px';
        rDrag.o.style.top = oTop + 'px';
    },
    end: function (e) {
        e = rDrag.fixEvent(e);
        rDrag.o = document.onmousemove = document.onmouseup = null;
    },
    fixEvent: function (e) {
        if (!e) {
            e = window.event;
            e.target = e.srcElement;
            e.layerX = e.offsetX;
            e.layerY = e.offsetY;
        }
        return e;
    }
}
    var obj = document.getElementById('draggable').getElementsByTagName('div');
    rDrag.init(obj);
<div id="draggable">
<div id="draggable1" class="draggable">可以移動喔!</a></div>
<div id="draggable2" class="draggable">可以移動喔!</a></div>
<div id="draggable3" class="draggable">可以移動喔!</a></div>
<div id="draggable4" class="draggable">可以移動喔!</a></div>
<div id="draggable5" class="draggable">可以移動喔!</a></div>
</div>
1

評分人數

  • wmh

TOP

返回列表 回復 發帖