jquery 实现 div 拖动效果

//div拖动效果
$(function () {
    var _move = false;//移动标记  
    var _x, _y;//鼠标离控件左上角的相对位置  
    $(".login").click(function () {
        //alert("click");//点击(松开后触发)  
    }).mousedown(function (e) {
        _move = true;
        _x = e.pageX - parseInt($(".login").css("left"));
        _y = e.pageY - parseInt($(".login").css("top"));
        $(".login").fadeTo(20, 1);//点击后开始拖动并透明显示  
    });
    $(document).mousemove(function (e) {
        if (_move) {
            var x = e.pageX - _x;//移动时根据鼠标位置计算控件左上角的绝对位置  
            var y = e.pageY - _y;
            $(".login").css({ top: y, left: x });//控件新位置  
        }
    }).mouseup(function () {
        _move = false;
        $(".login").fadeTo("fast", 1);//松开鼠标后停止移动并恢复成不透明   
    });
});


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
<head>  
  <title> New Document </title>  
  <script type="text/javascript" src="E:/jquery-1.7.2.min.js"></script>  
  <style type="text/css">  
/*模块拖拽*/  
.drag{position:absolute;width:100px;height:100px;border:1px solid #ddd;background:#FBF2BD;text-align:center;padding:5px;top:100px;left:20px;cursor:move;}  
</style>  
  
<script type="text/javascript">  
// 模块拖拽  
$(function(){  
var _move=false;//移动标记  
var _x,_y;//鼠标离控件左上角的相对位置  
    $(".drag").click(function(){  
        //alert("click");//点击(松开后触发)  
        }).mousedown(function(e){  
        _move=true;  
        _x=e.pageX-parseInt($(".drag").css("left"));  
        _y=e.pageY-parseInt($(".drag").css("top"));  
        $(".drag").fadeTo(20, 0.5);//点击后开始拖动并透明显示  
    });  
    $(document).mousemove(function(e){  
        if(_move){  
            var x=e.pageX-_x;//移动时根据鼠标位置计算控件左上角的绝对位置  
            var y=e.pageY-_y;  
            $(".drag").css({top:y,left:x});//控件新位置  
        }  
    }).mouseup(function(){  
    _move=false;  
    $(".drag").fadeTo("fast", 1);//松开鼠标后停止移动并恢复成不透明  
  });  
});  
</script>  
</head>  
<body>  
<!--模块拖拽--> <div class="drag">这个可以拖动哦 ^_^</div>  
</body>  
  
</html>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值