jquery.picsign图片标注组件实例详解


Posted in jQuery onFebruary 02, 2018

经过几天的尝试和学习,封装了自己的第一个js组件,有很多不足之处还请赐教。

因为一些业务需求,需要给图片添加一些标注,从网上找了一些但都不能满足需求,并且存在一些bug,坑太多

因此就有想法自己封装一个,学习了其他类似组件的实现思路,以及js组件的开发思路,开发了jquery.picsign组件

jquery.picsign图片标注组件实例详解

jQuery图片标注组件(jquery.picsign)

在线演示:http://artlessbruin.gitee.io/picsign/

gitee:https://gitee.com/ArtlessBruin/PicSign

1. 组件依赖

jquery

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>

bootstrap

<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

layer

<link href="https://cdn.bootcss.com/layer/3.1.0/theme/default/layer.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/layer/3.1.0/layer.js"></script>

webui-popover

<link href="https://cdn.bootcss.com/webui-popover/2.1.15/jquery.webui-popover.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/webui-popover/2.1.15/jquery.webui-popover.min.js"></script>

2. 引用组件文件

<link href="css/jquery.picsign.css" rel="external nofollow" rel="stylesheet" />
<script src="js/jquery.picsign.js"></script>

3. 使用

在页面中加入一个DIV

<div id="picsign"></div>

初始化组件

$("#picsign").picsign(option);
//option为组件参数,详细说明见option参数说明

option参数说明

var option={
 picurl: null,//图片地址
 signdata: [],//初始数据,详细说明参见基本数据格式
 editable: {//是否可编辑(默认可编辑 设置为false则禁用所有编辑)
 add: true,//是否可添加
 update: true,//是否可修改
 del: true,//是否可删除
 move: true//是否可移动
 },
 signclass: 'signdot',//标注点样式
 popwidth: 400,//标注内容显示窗口宽
 popheight: 247,//标注内容显示窗口高
 inputwidth: 400,//标注内容编辑窗口宽
 inputheight: 247,//标注内容编辑窗口高
 beforeadd: function (data) {//在添加保存前执行的方法,返回false阻断添加
 },
 onadd: function (data) {//添加完成执行的方法
 },
 beforeupdate: function (data) {//在修改保存前执行的方法,返回false阻断修改
 },
 onupdate: function (data) {//修改完成执行的方法
 },
 beforedel: function (data) {//在删除保存前执行的方法,返回false阻断删除
 },
 ondel: function (data) {//删除完成执行的方法
 }
};

基本数据格式

[{
 left:'50%',
 top:'50%',
 msg:'这是标注信息',
 signid:'这是标注唯一标识符,用户无需赋值,与组件逻辑相关,请不要使用此关键字'
}]
  • 用户添加的数据中必须包含left、top、msg属性
  • 用户可自行扩展其他属性
  • 特殊说明:请不要添加和使用signid关键字

方法调用

$("#picsign").picsign('functionName',parameter);
//functionName为方法名称,parameter为方法参数,详细说明参见方法说明

方法说明

获取标注数据

方法名称:getData

参数:无

$("#picsign").picsign('getData');

添加标注数据

方法名称:addSign

参数:基本数据Json,是否触发事件(默认为true)

$("#div_picsign").picsign("addSign",
 [{ left: '50%', top: '10%', msg: "123"},
 { left: '80%', top: '10%', msg: "456"}],
 true
)

切换标注显示状态

方法名称:toggle

参数:无

$("#div_picsign").picsign("toggle")

组件销毁

方法名称:destroy

参数:无

$("#div_picsign").picsign("destroy")

总结

以上所述是小编给大家介绍的jquery.picsign图片标注组件实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
纯jQuery实现前端分页功能
Mar 23 jQuery
jQuery获取table下某一行某一列的值实现代码
Apr 07 jQuery
Jquery-data的三种用法
Apr 18 jQuery
Jquery中attr与prop的区别详解
May 27 jQuery
jquery网页加载进度条的实现
Jun 01 jQuery
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
jQuery each和js forEach用法比较
Feb 27 jQuery
javascript/jquery实现点击触发事件的方法分析
Nov 11 jQuery
jQuery实现滑动星星评分效果(每日分享)
Nov 13 jQuery
Jquery异步上传文件代码实例
Nov 13 jQuery
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
JQuery中DOM节点的操作与访问方法实例分析
Dec 23 jQuery
jquery应用实例分享_实现手风琴特效
Feb 01 #jQuery
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 #jQuery
jQuery与vue实现拖动验证码功能
Jan 30 #jQuery
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 #jQuery
jQuery代码优化方法总结
Jan 29 #jQuery
jquery写出PC端轮播图实例
Jan 26 #jQuery
jquery根据name取得select选中的值实例(超简单)
Jan 25 #jQuery
You might like
php批量删除数据
2007/01/18 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
php生成N个不重复的随机数实例
2013/11/12 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
php实现复制移动文件的方法
2015/07/29 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
短信提示使用 特效
2007/01/19 Javascript
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
js表头排序实现方法
2015/01/16 Javascript
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
python任务调度实例分析
2015/05/19 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
python求最大值最小值方法总结
2019/06/25 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
生物科学系大学生的自我评价
2013/12/20 职场文书
金融保险专业求职信
2014/09/03 职场文书
2014年小学数学工作总结
2014/12/12 职场文书
担保贷款承诺书
2015/04/30 职场文书
详解Redis主从复制实践
2021/05/19 Redis
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL