div面板拖动

<!DOCTYPE html>
<html>
    <head>
        <meta charset="{utf-8}">
        <title></title>
        <script src="js/jquery-1.11.0.min.js"></script>
        <style>
            .aa{
                height: 100px;
                width: 200px;
                position: absolute;
                background-color: green;
            }
        </style>
    </head>
    <body>
        <div class="aa"></div>
    </body>
</html>
<script>
    $(".aa").mousedown(function(e){
        //设置移动后的默认位置
        var endx=0;
        var endy=0;

        //获取div的初始位置,要注意的是需要转整型,因为获取到值带px
        var left= parseInt($(".aa").css("left"));
        var top = parseInt($(".aa").css("top"));

        //获取鼠标按下时的坐标,区别于下面的es.pageX,es.pageY
        var downx=e.pageX;
        var downy=e.pageY;     //pageY的y要大写,必须大写!!

     //    鼠标按下时给div挂事件
    $(".aa").bind("mousemove",function(es){

        //es.pageX,es.pageY:获取鼠标移动后的坐标
        var endx= es.pageX-downx+left;     //计算div的最终位置
        var endy=es.pageY-downy+top;

        //带上单位
        $(".aa").css("left",endx+"px").css("top",endy+"px")    
    });    
  })
    

    $(".aa").mouseup(function(){
        //鼠标弹起时给div取消事件
        $(".aa").unbind("mousemove")
    })
    
</script>

猜你喜欢

转载自blog.csdn.net/t0404/article/details/75258182
今日推荐