结构-行为-样式-JqueryUI拖放使用实例(全)
最近工作中有个需要是动态配置页面,想到之前公司有做过类似的,用的是JqueryUi,所以就看了下它的Api。下面就是我做的小Demo,想用的同学可以参考:
Html:
<div class="page-component">
<div class="pct-content">
<div class="btn btn-default special" id="one" >我是可以拖动的对象</div>
</div>
</div>
<div id="dropzone" class="dropzone"></div>
Js:
$(
$("#dropzone").droppable({
scope:"tasks",//域,拖动的域与拖放的域要相同才可以放进去
accept: ".special",//接受的Drag对象中要有的类
tolerance: "fit",//元素在什么情况下才算是拖放进入了Droppable区域,FIT就是全部进入才算进入
drop:function(event,ui){//放,这个动作的回调函数
var uid = ui.draggable[0].id;
var dropzone = $("#dropzone").offset();//得到相对drop区域的绝对位置
var oleft = ui.position.left - dropzone.left;//得到相对drop区域的绝对位置
var otop = ui.position.top - dropzone.top;//得到相对drop区域的绝对位置
$(this).append($("<div class='cloneele' style='left:"+oleft+"px;top:"+otop+"px;'><a href='javascript:;' class='close ' ><i class='glyphicon glyphicon-remove'></i></a><img src='images/component/"+uid+".png'/></div>"));
$(".cloneele").draggable({
opacity: 0.35,
revert: function(a){//控制已经拖放进入Drop区域的元素只能在Drop区域拖动
var c = $(this)[0];
var t = c.style;
var d = $("#dropzone")[0];
var ch = d.clientHeight;
var cw = d.clientWidth;
var num_left = parseFloat(t.left.split("px")[0]);
var num_top = parseFloat(t.top.split("px")[0]);
if(num_left<0 || num_left + c.clientWidth - cw > 0 || num_top < 0 || num_top + c.clientHeight - ch > 0 ){
return true;
}else{
return false;
}
},
snap: true,//自动吸附
cursor: "pointer"//拖动鼠标指针
}).resizable();
//删除添加进入Drop区域的元素
$(".dropzone .close").bind('click',function(){
$(this).parent().remove();
});
//drag了一次的元素不能再拖动
$( "#"+uid ).draggable( "option", "disabled", true );
}
});
$(".special").draggable({
helper:"clone",//设置拖动类型为克隆
opacity: 0.35,//拖动对象的透明度
snap: true,//自动吸附
cursor: "pointer",//拖动鼠标指针
appendTo: "body",
scope:"tasks"//域,拖动的域与拖放的域要相同才可以放进去
});
);
结构-行为-样式-JqueryUI拖放使用实例(全)的更多相关文章
- jquery-ui sortable 使用实例
jquery-ui sortable 使用实例 最近公司需要做任务看板,需要拖拽效果.点击查看效果.由于网站是基于vue的技术栈,最开始找了一个现成的vue封装的拖拽组件:Vue.Draggable, ...
- C语言定义结构体指针数组并初始化;里面全是结构体的地址
#include <stdio.h> #include <string.h> struct tells;//声明结构体 struct info { char *infos; } ...
- 结构-行为-样式 - Angularjs 环境下Ztree结合JqueryUI实现拖拽
新的项目中有一个需求是要求客户标签可以自定义,于是就想到了客户体验,让客户自己拖拽标签进行组合查询.但是理想很丰满,现实很骨感.一开始就遇到了问题,各个插件之间的结合问题,折腾一翻之后终于实现了这个功 ...
- 解决JqueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug
前些日子不是在做 使用Jquery-UI实现一次拖拽多个选中的元素操作嘛,在持续完善这个组件时遇到了一个关于拖放排序的bug.今天就着图片和代码重现一下,也顺便告诉大家如何解决这个问题. 首先先上图描 ...
- WordPress插件--WP BaiDu Submit结构化数据插件又快又全的向百度提交网页
一.WP BaiDu Submit 简介 WP BaiDu Submit帮助具有百度站长平台链接提交权限的用户自动提交最新文章,以保证新链接可以及时被百度收录. 安装WP BaiDu Submit后, ...
- 基于Jquery-ui的自动补全
1.添加CSS和JS引用 <script type="text/javascript" src="javascript/jquery-1.7.min.js" ...
- 练习笔记:net,JqueryUI实现自动补全功能
1.首先建立个空的Web项目 2.将下载好的JqueryUI文件保存到JS文件加下 3.引入JS文件 <link href="JS/css/ui-lightness/jquery-ui ...
- SSRS报表服务随笔(rdl报表服务)-报表结构与样式
设计rdl报表,比设置HTML页面简单多了,Reporting报表分为页眉,页脚,主体三个部分 rdl文件实际是xml结构的文件,具体是什么语言呢,很抱歉,这点我还不能回复,在我看来,是由固定节点的x ...
- Linux 文件管理命令语法、参数、实例全汇总(一)
命令:cat cat 命令用于连接文件并打印到标准输出设备上. 使用权限 所有使用者 语法格式 cat [-AbeEnstTuv] [--help] [--version] fileName 参数 ...
随机推荐
- EA强大的绘图工具---设计数据库表格
关于EA这个优秀的软件是从师哥哪里听来的,自己瞎点了点,感觉也没什么.近期和和智福加上一个师哥合作敲机房收费系统时,想到之前听人说EA非常强大,便随便找了找关于EA使用的帮助手冊.果然惊喜-- 如题, ...
- HDOJ 4416 Good Article Good sentence
题解转自:http://blog.csdn.net/dyx404514/article/details/8807440 2012杭州网络赛的一道题,后缀数组后缀自己主动机都行吧. 题目大意:给一个字符 ...
- CSS3 Media Queries 详细介绍与使用方法
Media Queries 就是要在支援CSS3 的浏览器中才能正常工作,IE8 以下不支持. 而Media Queries 的套用方法千变万化,要套用在什么样的装置中,都可以自己来定义. 到底什么是 ...
- 疯狂html5演讲(两):HTML5简经常使用的元素和属性(一个):html5保留经常使用的元素
html5取出一小部分的元素和属性:主要删除的各种元素和属性与文档相关的风格.例<font>.width等待,html5建议规范css样式表来控制html文档样式. 1.基本元素 < ...
- HBuilder CSS 自定义代码块
=begin 本文档是CSS代码块的编辑文件.注意不要把其他语言的设置放到css里来. HBuilder可使用ruby脚本来编辑代码块和增强操作命令. 1.编辑代码块 如果要新增一个代码块,复制如下一 ...
- VS2015 Apache Cordova
VS2015 Apache Cordova第一个Android和IOS应用 前言 本人个人博客原文链接地址为http://aehyok.com/Blog/Detail/75.html. http: ...
- Add GUI to connect to SQL
(*********************************************************************************) (* *) (* Below i ...
- MSSQL2008数据库备份还原和数据恢复
原文:MSSQL2008数据库备份还原和数据恢复 序言 一直想写一篇关于数据库备份与恢复的文章,但基于能力的有限对数据库认知的有限怕不足以准确的表达,最后思考很久还是决定把自己的一些理解写出来供大 ...
- eclipse在使用git
一些eclipse已经自带GIt该,不要安装. 假设,再想想安装.能够卸载GIT,卸载 不同eclipse卸载是不一样的: 1.在Eclipse中依次点击菜单"Help"-> ...
- status状态栏实现字符串走动
<script type="text/javascript" language="javascript"> var i = 0; var str=& ...