美文网首页jQuery
jQuery 实现拖拽

jQuery 实现拖拽

作者: sky丶星如雨 | 来源:发表于2017-08-18 10:49 被阅读0次

前一段时间写过一个js原生方法实现拖拽,现在用jQuery再来实现以下。
其实,原理都是一样的。
下面,我们来看代码。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拖拽</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        div {
            width: 100px;
            height: 100px;
            background: #f00;
            cursor: pointer;
            position: absolute;
            left: 0;
            top: 0;
        }
    </style>
</head>
<body>
<div></div>
<script src="jquery.min.js"></script>
<script>
    $(function () {
        // 鼠标按下时
        $('div').mousedown(function (e) {
            // 获取当前元素的 偏移量
            var positionDiv = $(this).offset();
            // 获取是否在当前事件下在当前元素上
            var distenceX = e.pageX - positionDiv.left;
            var distenceY = e.pageY - positionDiv.top;
            // 移动时
            $(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);
                }
                // 设置left值和top值
                $('div').css({
                    'left': x + 'px',
                    'top': y + 'px'
                });
            });
            // 解绑事件
            $(document).mouseup(function () {
                $(document).off('mousemove');
            });
        });
    });
</script>
</body>
</html>

相关文章

  • POS-2017

    拖拽排序功能 实现方法: 使用jquery的Sortable功能可以实现拖拽功能 index页面 html部分 商...

  • jQuery 实现拖拽

    前一段时间写过一个js原生方法实现拖拽,现在用jQuery再来实现以下。其实,原理都是一样的。下面,我们来看代码。

  • jquery实现拖拽

  • 禁止用户拖拽图片或文件到窗口

    在做文件上传功能的时候,如果没有做响应用户拖拽文件的功能的话,建议先禁用拖拽功能。 实现代码: jquery版本(...

  • Controller路由图表拖拉实现

    基于jsPlumb实现的可拖拽自定义流程图[https://www.jq22.com/jquery-info233...

  • jQuery拖拽

    思路 父盒子相对定位,子元素,也就是被拖拽的元素绝对定位 当鼠标在子元素中按下时,绑定鼠标移动事件,根据鼠标位置改...

  • jquery-ui实现拖拽、缩放

    项目需要拖拽draggable()、缩放resizable效果用jquery-ui插件 1.引进jquery-ui...

  • jQuery-File-Upload文档翻译(插件说明)

    jQuery File Upload Plugin 演示 演示地址 说明 本jQuery插件支持多文件上传,拖拽文...

  • HTML5拖拽drag

    通过拖拽实现页面元素的位置改变 实现拖拽效果 源元素 - 要拖拽的文件 目标元素 - 要拖拽到哪里去 目前实现拖拽...

  • 拖拽API

    实现拖拽效果 目前实现拖拽效果 HTML5拖拽 源元素事件例子 目标元素事件 从本地拖放图片到页面中 实现拖拽

网友评论

    本文标题:jQuery 实现拖拽

    本文链接:https://www.haomeiwen.com/subject/mqemrxtx.html