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.form.js异步提交表单详解
Apr 25 jQuery
jQuery为某个div加入行样式
Jun 09 jQuery
Vue.js列表渲染绑定jQuery插件的正确姿势
Jun 29 jQuery
jQuery Position方法使用和兼容性
Aug 23 jQuery
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 jQuery
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
JS和JQuery实现雪花飘落效果
Nov 30 jQuery
jquery写出PC端轮播图实例
Jan 26 jQuery
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
Jquery动态列功能完整实例
Aug 30 jQuery
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
基于jQuery拖拽事件的封装
Nov 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中使用Oracle数据库(4)
2006/10/09 PHP
php学习笔记 类的声明与对象实例化
2011/06/13 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
微信小程序实现弹出菜单功能
2018/06/12 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
JSONObject与JSONArray使用方法解析
2020/09/28 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
python实现超简单端口转发的方法
2015/03/13 Python
Python获取邮件地址的方法
2015/07/10 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
《颐和园》教学反思
2014/02/26 职场文书
设计专业自荐信
2014/06/19 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
渠道运营商合作协议书范本
2014/10/06 职场文书