javascript - 元素拖拽的js插件
PHP中文网
PHP中文网 2017-04-11 13:14:02
[JavaScript讨论组]

寻一个元素拖拽的插件

元素结构
    ul
      li
      li
      li
      li
      li

只能在li里面拖(li是动态生成的),而且li里面的子元素比如p,img,input不能拖拽,也就是只有li可以拖。

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
高洛峰

这个就可以。第一个连接是实例,第二个是这个模块

http://www.runoob.com/try/try...

jQuery UI 实例 - 排序(Sortable)

大家讲道理

写了一个小demo
大体的意思就是这样 拖拽的思想
body部分:

<body bgcolor="gray">
<p style="width:400px;height:300px;background:white;border:2px solid  red;position: absolute;cursor:default;" id="drag">
    <p>我是文字是文字是文字</p>
    <input type="text" placeholder="我是输入框">
    <img src="http://avatar.csdn.net/2/0/B/1_cleopard.jpg" >
</p>

</body>

js部分:

<script type="text/javascript">
    window.onload=function(){
        var drag=document.getElementById("drag");
        var flag=0;
        // var currentTop;
        drag.onmousedown=function(e){
           flag=1;
           e=e||window.event;
           this.kTop=e.clientY-this.offsetTop;//如果不减去,则鼠标总是在原点
           this.kLeft=e.clientX-this.offsetLeft;
        }
        
        drag.onmousemove=function(e){
            if(flag==1){
                e=e||window.event;
                drag.style.top=e.clientY-drag.kTop+"px";
                drag.style.left=e.clientX-drag.kLeft+"px";
            }
        }
        drag.onmouseup=function(){
            flag=0;

        }
        //以下代码是禁止图片拖动  写的demo
        document.getElementsByTagName('img')[0].onmousedown = function(e){
            e.preventDefault()
        };
    }

    </script>

效果图:(没怎么管布局)
http://runjs.cn/code/rfetrfrq

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号