电子签章盖章之jQuery插件jquery.zsign
简介: 使用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;