jquery实现很简单的DIV拖动

今天用jquery实现了一个很简单的拖动...实现思路很简单  如下:

 

在thickbox 弹出层内实现拖拽DIV,那么得进行一下相对宽高的运算:必须加上相对于可见窗口宽高和弹出层宽高之间的差:
                var x = event.clientX - (document.documentElement.clientWidth - 620) / 2 - event.offsetX;
                var y = event.clientY - (document.documentElement.clientHeight - 465) / 2 - event.offsetY;
                $(".pdivt .divnei").css("left", x);
                $(".pdivt .divnei").css("top", y);

event.offsetX   eventoffsetY 发生事件的地点在事件源元素的坐标系统中的 x 坐标和 y 坐标。

event.clientX  获取鼠标的水平位置

event.clientY  获取鼠标的垂直位置

ousedown事件在鼠标在元素上点击后会触发mousemove 事件通过鼠标在元素上移动来触发mouseout事件在鼠标从元素上离开后会触发<style>
    #Drigging
    {
        width:200px;
        background:#CCC;
        border:solid 1px #666;
        height:80px;
        line-height:80px;
        text-align:center;
        position:absolute;
    }
</style>
<script src="../js/jquery-1.3.1.js"></script>
<script type="text/javascript">
    $(function(){
var bool=false;
var offsetX=0;
var offsetY=0;
        $("#Drigging").mousedown(function(){
            bool=true;
             offsetX = event.offsetX;
            offsetY = event.offsetY;
            $(this).css('cursor','move');
                                        })
        .mouseup(function(){
            bool=false;
                          })
        $(document).mousemove(function(e){
if(!bool)
return;
var x = event.clientX-offsetX;
var y = event.clientY-offsetY;
            $("#Drigging").css("left", x);
            $("#Drigging").css("top", y);

                                       })
               })
</script> offsetParent:http://www.cnblogs.com/jilleanwong/archive/2008/09/21/1295415.htmloffsetLeft、offsetTop、offsetWidth、offsetHeight属性http://www.cnblogs.com/jilleanwong/archive/2008/09/22/1295783.html 

转载于:https://www.cnblogs.com/zhoulove/p/3599430.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值