canvas画布实现手写签名效果的示例代码


Posted in HTML / CSS onApril 23, 2019

最近项目中涉及到移动端手写签名的功能需求,将实现代码记录于此,供小伙伴们参考指摘哦~

HTML代码:

<!--手写区-->
        <div class="mSign_signMark_box">
            <div class="mSign_signMark_write_box">
                <div id="mSign_signMark_signature_pad" class="mSign_signMark_body_box">
                    <div class="mSign_signMark_body">
                        <span  class="mSign_signMark_clear_out">
                            <img src="../images/mCommon_basicIcon_deleteRed.png">
                        </span>
                        <p>手写区</p>
                        <canvas id="mSign_signMark_canvas"></canvas>
                    </div>
                </div>
            </div>
        </div>
        <!--手写区 end-->
        <!--底部按钮-->
        <div class="mSign_signMark_footer">
            <span id="mSign_signMark_clear_out" class="mSign_signMark_footer_cancle">清除</span>
            <span id="mSign_signMark_submit" class="mSign_signMark_footer_sure">确定</span>
        </div>
        <!--底部按钮 end-->

CSS样式:

.mSign_signMark_box{padding: 15px 15px 26px 15px;}
.mSign_signMark_footer{max-width:640px;margin:0 auto;height: 44px;background: #4ba7eb;position: fixed;bottom: 0;left: 0;right: 0;color:#fff;font-size: 16px;text-align: center;line-height: 44px;}
.mSign_signMark_footer span{display: block;width: 50%;text-align: center;float: left;}
.mSign_signMark_footer_cancle{background: #f4f4f5;color: #333333;}
/*手写签名*/
.mSign_signMark_write_box{position: relative;height: 240px;}
.mSign_signMark_body_box {position: absolute;background-color: #fff;border: 1px solid #ccc;top:0;left: 0;right: 0;bottom: 0;width: 99%;height: auto;min-width: 250px;min-height: 140px;}
.mSign_signMark_body {position: absolute;left: 0;right: 0;top: 0;bottom: 0;}
.mSign_signMark_body canvas {position: absolute;left: 0;top: 0;width: 100%;height: 100%;}
.mSign_signMark_body p{position: absolute;font-size: 14px;color: #ccc;text-align: center;width: 100%;top: 50%;margin-top: -22px;}
.mSign_signMark_clear_out{position: absolute;top:-10px;right: -5px;z-index: 10;display: none;}
.mSign_signMark_clear_out img{width: 18px;height: 18px;}

页面引入JS:

//手写区触摸事件
$(function() {
    var ctouch=$('.mSign_signMark_body canvas');
    ctouch.bind("touchstart",function(event){
        $('.mSign_signMark_body p').hide();
    });
    ctouch.mouseover(function(event) {
        $('.mSign_signMark_body p').hide();
    });
});

手写签名引入js文件地址:qianmian-js_3water.rar

实现效果如下:

canvas画布实现手写签名效果的示例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
可以随进度显示不同颜色的css3进度条分享
Apr 11 HTML / CSS
CSS3区域模块region相关编写示例
Aug 28 HTML / CSS
6种非常炫酷的CSS3按钮边框动画特效
Mar 16 HTML / CSS
轻松掌握CSS3中的字体大小单位rem的使用方法
May 24 HTML / CSS
css3 flex实现div内容水平垂直居中的几种方法
Mar 27 HTML / CSS
CSS3实现时间轴特效
Nov 02 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
Jan 29 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
Jun 27 HTML / CSS
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
Jul 24 HTML / CSS
JavaScript+Canvas实现自定义画板的示例代码
May 13 HTML / CSS
将SVG图引入到HTML页面的实现
Sep 20 HTML / CSS
CSS中使用grid布局实现一套模板多种布局
Jul 15 HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
Apr 26 #HTML / CSS
html5中监听canvas内部元素点击事件的三种方法
Apr 28 #HTML / CSS
Html5实现单张、多张图片上传功能
Apr 28 #HTML / CSS
鲜为人知的HTML5语音合成功能
May 17 #HTML / CSS
Html5内唤醒百度、高德APP的实现示例
May 20 #HTML / CSS
socket.io 和canvas 实现的共享画板功能
May 22 #HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
May 27 #HTML / CSS
You might like
PHP函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
PHP实现验证码校验功能
2017/11/16 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
JavaScript ECMA-262-3 深入解析.第三章.this
2011/09/28 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
js切换光标示例代码
2013/10/10 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
python装饰器使用方法实例
2013/11/21 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
python读取oracle函数返回值
2016/07/18 Python
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
python标记语句块使用方法总结
2019/08/05 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
用python进行视频剪辑
2020/11/02 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
提高EJB性能都有哪些技巧
2012/03/25 面试题
课外小组活动总结
2014/08/27 职场文书
某集团股份有限公司委托书样本
2014/09/24 职场文书
单位推荐信范文
2015/03/27 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android
GO中sync包自由控制并发示例详解
2022/08/05 Golang