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+css实现侧边导航栏效果
Jun 12 jQuery
jQuery简单实现对数组去重及排序操作实例
Oct 31 jQuery
jQuery封装animate.css的实例
Jan 04 jQuery
jQuery实现的简单图片轮播效果完整示例
Feb 08 jQuery
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
Apr 26 jQuery
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
jquery弹窗时禁止body滚动条滚动的例子
Sep 21 jQuery
JQuery表单元素取值赋值方法总结
May 12 jQuery
Jquery ajax书写方法代码实例解析
Jun 12 jQuery
如何使用jQuery操作Cookies方法解析
Sep 08 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相关资料
2006/10/09 PHP
ZF等常用php框架中存在的问题
2008/01/10 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
对Angular.js Controller如何进行单元测试
2016/10/25 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
微信小程序实现图片上传功能
2018/05/28 Javascript
js实现每日签到功能
2018/11/29 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
2019/02/26 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
python热力图实现简单方法
2021/01/29 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
男方父母证婚词
2014/01/12 职场文书
党支部书记先进事迹
2014/01/17 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
陕西导游词
2015/02/04 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL