1.在js封装了jquery的扩展方法用来模拟盖章

$.fn.zSign = function (options) {
var _s = $.extend({
img: ‘’,
width: 120,
height: 120,
offset: 8, //边界值
callBack: null
}, options || {});

var _parent = $(this).addClass('zsign');
var range = {minX: _s.offset,minY: _s.offset,maxX: _parent.width() - _s.width - _s.offset - 18,      //扣去2个padding=8px以及2个边框1pxmaxY: _parent.height() - _s.height - _s.offset - 18
};var _btnPanel = $("<div class='panel'><button class='btn add' >盖 章</button><button class='btn cancel'>关 闭</button></div>").appendTo(_parent);
var _html = "<div class='sign' style='height:" + _s.height + "px;width:" + _s.width + "px;top:" + _s.offset + "px;left:" + _s.offset + "px'><img src='" + _s.img + "' draggable='false'/><button class='btn ok' >确定</button><button class='btn del' >删除</button></div>";var _add = $('.add', _btnPanel).click(function (e) {_add.attr('disabled', 'disabled');var sign = $(_html).appendTo(_parent);$('.ok', sign).click(function () {//确定盖章sign.addClass('ok').off('mousedown').find('.btn').remove();_add.removeAttr('disabled');if (_s.callBack) {_s.callBack.call(this, { img: _s.img, top: parseInt(sign.css('top')), left: parseInt(sign.css('left')) });}});$('.del', sign).click(function () {//取消盖章sign.remove();_add.removeAttr('disabled');});//绑定移动事件sign.on('mousedown', function (e) {sign.data('x', e.clientX);sign.data('y', e.clientY);var position = sign.position();$(document).on('mousemove', function (e1) {var x = e1.clientX - sign.data('x') + position.left;var y = e1.clientY - sign.data('y') + position.top;x = x < range.minX ? range.minX : x;x = x > range.maxX ? range.maxX : x;y = y < range.minY ? range.minY : y;y = y > range.maxY ? range.maxY : y;sign.css({ left: x, top: y });}).on('mouseup', function () {$(this).off('mousemove').off('mouseup');});});
});$('.cancel', _btnPanel).click(function () {var r = true;if (_add.attr('disabled') == 'disabled') {if (!confirm("未确定的盖章将被取消,确定要关闭吗?")) {r = false;}}if (r) {//删除未确定位置的盖章$('.sign:not(.ok)', _parent).remove();_btnPanel.remove();}
});

};

2.在css中设置电子签章的样式

.zsign .panel
{
position: absolute;
top: 8px;
right: 8px;
}
.zsign .btn
{
display: inline-block;
padding: 4px 10px 4px;
margin-bottom: 0;
font-size: 13px;
line-height: 18px;
color: #333;
text-align: center;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
vertical-align: middle;
background-color: whiteSmoke;
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#E6E6E6));
background-repeat: repeat-x;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
border: 1px solid #CCC;
border-bottom-color: #B3B3B3;
-webkit-border-radius: 4px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
cursor: pointer;
-webkit-user-select: none;
}
.zsign .btn:hover
{
color: #333;
text-decoration: none;
background-color: #E6E6E6;
background-position: 0 -15px;
-webkit-transition: background-position 0.1s linear;
}
.zsign .btn[disabled]
{
cursor: default;
background-image: none;
background-color: #E6E6E6;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.zsign .cursor
{
cursor: none;
}
.zsign .show
{
display: block;
}
.zsign .hide
{
display: none;
}

.zsign .sign
{
position: absolute;
cursor: move;
border: 1px dashed #ccc;
padding: 8px;
display: -webkit-box;
-webkit-box-pack: center;
-webkit-box-align: center;
}
.zsign .sign.ok
{
cursor: default;
border-color:transparent;
}
.zsign .sign img
{
max-height: 100%;
max-width: 100%;
}
.zsign .sign .btn
{
padding: 2px 6px;
font-size: 11px;
line-height: 14px;
position: absolute;
}

.zsign .sign .btn.del
{
bottom: 4px;
right: 4px;
}
.zsign .sign .btn.ok {
bottom: 4px;
right: 50px;
}
3、在html页面中引用对应的css以及js文件(省略) 如下即可使用

<div id="ceshi" style="width:1000px;height:700px;background-color:rgb(204,204,204)">
</div>
<script>$("#ceshi").zSign({ img: '../../../../Content/gaizhang/images/1.gif' });
</script>

Web开发之电子签章相关推荐

  1. WEB开发常用电子书籍下载

    在学习当中我集中了一些不错的WEB开发 asp.NET 应用方面的电子书籍和大家共享 asp.net程式设计基础篇 ASP.NET深入编程 ASP.NET高级编程 C#高级编程 留言板源码(带库) H ...

  2. PDF电子签章,用鼠标拖动印章到指定的位置, 一种在网页PDF中电子签章定位方法

    目录 一.需求 二.最后的效果 三.解决思路 一.需求 在开发PDF电子签章(电子签名),后台用itextpdf进行签名,前台用pdf.js显示pdf文件,在前台用鼠标拖动印章到指定的位置,点击PDF ...

  3. VSTO | C#快速开发电子签章插件

    hello,大家好,我是@似最初 前期通过VB我曾经开发了一个公文排版插件,里面有一个插入电子签章的功能,有人就问这个电子签章能够单独拎出来吗?答案当然是可以的,所以今天采用C#重新简单的重构了该功能 ...

  4. Web开发融会贯通: 深入浅出 告别浮云

    如果你是一个Web开发初学者,那么你难免会在网上搜索HTML,CSS,XML,JS(Javascript),DOM,XSL等等这些词的意思,然而,随着学习的深入.当你把他们搅在一起,你又糊涂了,你会不 ...

  5. Web开发编程实用手册

    不要被这个名字吓到.这本手册,真的很实用.你能猜猜它有多少页么?只有62页,比起那些砖头书来,这本可以说是苗条得不能再苗条了.现在卓越搞活动,购买电子工业出版社图书,凡购买专题内图书满69元,均可获赠 ...

  6. 零基础学java web开发pdf_新手学Java Web开发.pdf

    作 者 :杨磊等编著 出版发行 : 北京:北京希望电子出版社 , 2010.01 ISBN号 :978-7-89498-988-8 页 数 : 480 丛书名 : 新手学编程系列 原书定价 : 49. ...

  7. 知识图谱开发实战案例剖析_我从剖析Web开发人员路线图中学到的知识

    知识图谱开发实战案例剖析 by Nicole Archambault 妮可·阿坎巴特(Nicole Archambault) 我从剖析Web开发人员路线图中学到的知识 (What I learned ...

  8. Web开发秘方(WEB DEVELOPMENT RECIPES)[47.5MB] PDF扫描版

    不借助插件怎样在移动设备上实现动画效果?怎样快速搭建HTML电子邮箱?怎样制作跨PC和移动设备显示的应用界面?怎样利用最新的JavaScript框架提高应用的响应速度?怎样有效利用CoffeeScri ...

  9. js 返回上一页面_pdf.js实战,含水印、电子签章解决方案

    项目涉及到移动端查看电子合同的问题,前前后后试了三种方案,真是一步一个坑,三种方案各有各的优点,不水,直接上代码,按照自己的需求选择. 一.pdf-vue 直接使用vue-pdf插件,核心的代码是pd ...

最新文章

  1. 自动驾驶技术如何升级?这份技能图谱为你指路
  2. 计算出前一期间XXXX物料的期末结算
  3. 吴恩达《Machine Learning》精炼笔记 4:神经网络基础
  4. AndroidStudio_android通过服务,检测本程序是否已经终止运行_终止运行后发送通知给Http服务器---Android原生开发工作笔记246
  5. [转载]树、森林和二叉树的转换
  6. python 通用数据库类型_Python开发基础之Python常用的数据类型
  7. 教育类App原型制作分享-Busuu
  8. 人类按什么动物的优点发明什么
  9. Vue单元素/组件的过渡
  10. arduino中print()跟write()最大区别和注意事项 (最详细)
  11. 系统架构设计师备考经验分享:边听课边画思维导图,高效学习
  12. plt-------
  13. 锐龙R7 PRO 6850HS怎么样相当于什么水平级别
  14. close()是不是python内置函数_python 内置函数
  15. 第十一课:磁场和洛伦兹力
  16. Python wheel文件
  17. 软件工程师应具备什么样的素质
  18. Redis中set、setnx、setex区别
  19. IOS10.3.0~10.3.3不完美越狱
  20. 云端课堂未能连接到服务器,云端课堂如何登录?详细步骤、流程介绍

热门文章

  1. 监控与日志的黄金法则
  2. 预推免的内耗---还好上岸了,要不就淹死了
  3. 排列组合的简单应用(隔板法)
  4. 掌握这六步,搭建完美的机器学习项目
  5. ASCII:字符集与字符编码的起源
  6. SAP 科目的 未清项管理的理解
  7. 基于Qt的音乐播放器(二)切换歌曲,调节音量,调节语速,暂停
  8. AnyTXT 一款强大的本地文件内容搜索软件
  9. linux网络引流工具,gor 引流快速入门
  10. flink DataStream returns 设置返回类型