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手风琴效果
Aug 18 jQuery
Vue中正确使用jQuery的方法
Oct 30 jQuery
jQuery动态添加li标签并添加属性和绑定事件方法
Feb 24 jQuery
jquery引入外部CDN 加载失败则引入本地jq库
May 23 jQuery
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
在vue项目中使用Jquery-contextmenu插件的步骤讲解
Jan 27 jQuery
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 jQuery
js、jquery实现列表模糊搜索功能过程解析
Mar 27 jQuery
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
Jquery滑动门/tab切换实现方法完整示例
Jun 05 jQuery
jquery实现简单自动轮播图效果
Jul 29 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项目应该注意的几点事项分享
2013/12/20 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
Prototype String对象 学习
2009/07/19 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
JavaScript中this详解
2015/09/01 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
JS表单验证的代码(常用)
2016/04/08 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
Viking比利时:购买办公用品
2019/10/30 全球购物
红高粱观后感
2015/06/10 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
浅析Python OpenCV三种滤镜效果
2022/04/11 Python