<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-5  評論-41  文章-13  trackbacks-0

    在頁面中包含如下代碼之后,使用makeDraggable(item)來使頁面元素可以拖拽

     1    
     2document.onmousemove = mouseMove;
     3document.onmouseup   = mouseUp;
     4
     5var dragObject  = null;
     6var mouseOffset = null;
     7var maxTop = null;
     8var maxWidth = null;
     9
    10function getMouseOffset(target, event){
    11    event = event || window.event;
    12
    13    var docPos    = getPosition(target);
    14    var mousePos  = mouseCoords(event);
    15    return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
    16}

    17
    18function getPosition(e){
    19    var left = 0;
    20    var top  = 0;
    21
    22    while (e.offsetParent){
    23        left += e.offsetLeft;
    24        top  += e.offsetTop;
    25        e     = e.offsetParent;
    26    }

    27
    28    left += e.offsetLeft;
    29    top  += e.offsetTop;
    30
    31    return {x:left, y:top};
    32}

    33
    34function mouseMove(event){
    35    event           = event || window.event;
    36    var mousePos = mouseCoords(event);
    37
    38    if(dragObject){
    39        dragObject.style.position = 'absolute';
    40        var tmpTop = mousePos.y - mouseOffset.y;
    41        if(tmpTop<10){
    42            tmpTop = 10;
    43        }

    44        if(tmpTop>maxTop){
    45            tmpTop = maxTop;
    46        }

    47        var tmpLeft = mousePos.x - mouseOffset.x;
    48        if(tmpLeft<10){
    49            tmpLeft = 10;
    50        }

    51        if(tmpLeft>maxWidth){
    52            tmpLeft = maxWidth;
    53        }

    54        dragObject.style.top = tmpTop + "px";
    55        dragObject.style.left = tmpLeft + "px";
    56        return false;
    57    }

    58}

    59function mouseUp(){
    60    dragObject = null;
    61}

    62
    63function mouseCoords(event){
    64    if(event.pageX || event.pageY){
    65        return {x:event.pageX, y:event.pageY};
    66    }

    67    return {
    68        x:event.clientX + document.body.scrollLeft - document.body.clientLeft,
    69        y:event.clientY + document.body.scrollTop  - document.body.clientTop
    70    }
    ;
    71}

    72
    73function makeDraggable(item){
    74    if(!item) return;
    75    item.onmousedown = function(event){
    76        dragObject  = this.parentNode;
    77        mouseOffset = getMouseOffset(this, event);
    78        if(window.innerHeight>document.body.clientHeight){
    79            maxTop = window.innerHeight-dragObject.offsetHeight-50;
    80        }
    else{
    81            maxTop = document.body.clientHeight-dragObject.offsetHeight-10;
    82        }

    83        maxWidth = document.body.clientWidth-dragObject.offsetWidth-10;
    84        return true;
    85    }

    86}
    posted on 2006-12-12 17:34 OO 閱讀(886) 評論(1)  編輯  收藏 所屬分類: java相關的亂七八糟的東西

    評論:
    # re: javascript Element拖拽功能 2007-03-29 16:21 | 王鑫
    想要這個功能  回復  更多評論
      
    主站蜘蛛池模板: 国产av无码专区亚洲av果冻传媒| 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 自拍偷自拍亚洲精品第1页| 亚洲爆乳无码专区www| 成年女人毛片免费播放人| 插鸡网站在线播放免费观看| 中文字幕乱码一区二区免费| 亚洲熟妇丰满多毛XXXX| 中文字幕在线视频免费| 国产做国产爱免费视频| 欧美好看的免费电影在线观看| 亚洲欧美第一成人网站7777| 在线免费观看你懂的| 亚洲人成无码网站久久99热国产| 亚洲国产成人私人影院| 亚洲乱人伦中文字幕无码| 影音先锋在线免费观看| 国产∨亚洲V天堂无码久久久| 99久久成人国产精品免费 | 女人18一级毛片免费观看| 亚洲AV无码一区二区大桥未久| 韩国免费A级毛片久久| 亚洲va无码手机在线电影| 久久久久成人精品免费播放动漫| 亚洲白嫩在线观看| 成全高清在线观看免费| 亚洲AV中文无码字幕色三| 国产成人精品免费视频网页大全 | 久久影院亚洲一区| 久久久久久99av无码免费网站| 中文字幕乱码亚洲精品一区| 国产美女精品久久久久久久免费| 免费看黄福利app导航看一下黄色录像| 亚洲精品A在线观看| 亚洲欧洲日韩极速播放| 国产jizzjizz视频全部免费| 亚洲国产福利精品一区二区 | 99久久人妻精品免费一区| 国产精品亚洲综合久久 | 又色又污又黄无遮挡的免费视| a级毛片免费高清毛片视频|