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写的模仿iPhone中的返回按钮
Apr 04 HTML / CSS
CSS3绘制不规则图形的一些方法示例
Nov 07 HTML / CSS
Html5中的桌面通知Notification的实现
Sep 25 HTML / CSS
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
May 28 HTML / CSS
html5指南-5.使用web storage存储键值对的数据
Jan 07 HTML / CSS
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
Jan 31 HTML / CSS
基于HTML5代码实现折叠菜单附源码下载
Nov 27 HTML / CSS
Html5新增标签有哪些
Apr 13 HTML / CSS
HTML5实现视频弹幕功能
Aug 09 HTML / CSS
div或img图片高度随宽度自适应的方法
Feb 06 HTML / CSS
video.js支持m3u8格式直播的实现示例
May 20 HTML / CSS
CSS3 制作的图片滚动效果
Apr 14 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 Memcache 中实现消息队列
2009/11/24 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
PHP的引用详解
2015/02/22 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
javascript编程起步(第四课)
2007/01/10 Javascript
JS函数实现动态添加CSS样式表文件
2012/12/15 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
js实现简单的秒表
2020/01/16 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
Python内置函数locals和globals对比
2020/04/28 Python
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
自荐信要包含哪些内容
2013/11/06 职场文书
人力资源作业细则
2014/03/03 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
销售合作意向书范本
2015/05/08 职场文书
MySQL慢查询的坑
2021/04/28 MySQL
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python