javascript - 写了一个拖拽,可是怎么拖也拖不动,请帮忙看一下代码哪里有问题,求指点。

查看:88
本文介绍了javascript - 写了一个拖拽,可是怎么拖也拖不动,请帮忙看一下代码哪里有问题,求指点。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我想将鼠标放在请拖拽上边从而实现拖拽功能。
下面是代码:

<div id="box">
    <div id="main">
        <div id="drag">请拖拽</div>
        <div class="content">内容</div>
    </div>
</div>

js:

var oDrag= document.getElementById('box');
var oMain= document.getElementById('main');
oDrag.onmousedown=function(ev){

    var oEvent=ev||event;
    var disX=oEvent.clientX-oDrag.offsetLeft;
    var disY=oEvent.clientY-oDrag.offsetTop;

    oMain.onmousemove=function(ev){
        var oEvent=ev||event;
        var l=oEvent.clientX-disX;
        var t=oEvent.clientY-disY;

        if(l<0){
            l=0;
        }else if(l>document.documentElement.clientWidth-oDrag.offsetWidth){
            l=document.documentElement.clientWidth-oDrag.offsetWidth;
        }
        if(t<0){
            t=0;
        }else if(t>document.documentElement.clientHeight-oDrag.offsetHeight){
            t=document.documentElement.clientHeight-oDrag.offsetHeight;
        }
        oDrag.style.left=l+'px';
        oDrag.style.top=t+'px';
    };

    oMain.onmouseup=function(){
        oMain.onmousemove=null;
        oMain.onmouseup=null;
        return false;
    };

};

实在找不到为什么,也不报错,请大神指点。

解决方案

感觉应该是没有加定位吧。要实现拖动的话,元素必须设置绝对定位或者固定定位的哦。

这篇关于javascript - 写了一个拖拽,可是怎么拖也拖不动,请帮忙看一下代码哪里有问题,求指点。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆