简介: 使用jquery.zsign可以实现电子签章盖章效果,使用方便,只需提供自己的章图片。效果图如下:
页面引用:
<link href="~/Content/js/zsign/jquery.zsign.css" rel="stylesheet" /> <script src="~/Content/js/zsign/jquery.zsign.js"></script> <script> $(function () { top.$(".content-iframe").css("background-color", "#f9f9f9"); $(".price-box").zSign({ img: \'/Content/js/zsign/signet.gif\' }); }) </script>
<div class="price-box"> //里面是自己的内容 </div>
js源码:
;$.fn.zSign = function (options) { var _s = $.extend({ img: \'\', width: 150, height: 150, offset: 30, //边界值 callBack: null }, options || {}); var _parent = $(this).addClass(\'zsign\'); var range = { minX: _s.offset, minY: _s.offset, maxX: $(window).width(), //扣去2个padding=8px以及2个边框1px maxY: $(window).height() }; var _btnPanel = $("<div class=\'panels\'><button class=\'btn btn-default add \' >盖 章</button><button class=\'btn btn-default 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 btn-default ok\' >确定</button><button class=\'btn btn-default 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(); } }); };
css 源码:
.zsign .panels { position: absolute; top: 22px; right: 8px; } .zsign .btn { margin-right:5px; } .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;