• jQuery拖拽原理实例


    HTML源代码

    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>拖拽实例</title>
    <link rel="stylesheet" href="drag.css">
    <script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
    <script src="drag.js"></script>
    </head>
    <body>
        <div></div>
    </body>
    </html>

    CSS源代码

    *{
        margin: 0;
        padding:0;
    }
    
    div{
        width: 100px;
        height: 100px;
        background: #f00;
        cursor: pointer;
        position: absolute;
        left: 0;
        top: 0;
    }

    JS源代码 

    $(function(){
        $('div').mousedown(function(e){
    
            //offset()在匹配的元素集合中,获取的第一个元素的当前坐标,坐标相对于文档
            var positionDiv = $(this).offset();
            var distenceX = e.pageX - positionDiv.left;
            var distenceY = e.pageY - positionDiv.top;
            // alert(positionDiv.left);
    
            $(document).mousemove(function(e) {
            var x = e.pageX - distenceX;
            var y = e.pageY - distenceY;
            //防止将元素拖拽出浏览器窗口
            if(x<0){
                x=0;
            }else if(x>$(document).width()-$('div').outerWidth(true)){
                x=$(document).width()-$('div').outerWidth(true);
            }
            if(y<0){
                y=0
            }else if(y>$(document).height()-$('div').outerHeight(true)){
                y=$(document).height()-$('div').outerHeight(true);
            }
            $('div').css({
                'left':x+'px',
                'top':y+'px'
            });
        });
        $(document).mouseup(function() {
            //unbind和off都可以解除绑定时间
            $(document).unbind('mousemove');
        });
        });
    });
  • 相关阅读:
    ADO.NET 3.5高级编程:应用LINQ&Entity Framework
    C#高级编程(第8版)
    ASP.NET MVC 4 Web编程
    Version of SQLCE in WP8
    字符圆角尖角实现对话框
    数字跳动放大
    jquery框架和mvvm框架的类名操作性对比
    按钮也是一门大学问
    图片轮播
    滑动显示大图升级版
  • 原文地址:https://www.cnblogs.com/littlefly/p/3677509.html
Copyright © 2020-2023  润新知