最近公司有一個新的需求,將app的功能全部轉移到h5來做,包括了簽名,動畫等功能。
簽名核心使用的就是h5的新屬性,canvans,這里推薦一個比較好用的jq插件:jSignature,有興趣的可以去官網查看相關的api
首先,看html頁面
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>視頻播放</title> <style type="text/css"> body,html{ width: 100%; height: 100%; -webkit-overflow-scrolling: touch; } *{ margin:0; padding:0; border:0; } #signCont{ width: 1000px; height: 400px; position: absolute; left: 50%; top:50%; margin-left: -500px; margin-top: -200px; border: 2px solid #ccc; } </style> <script src="image/jquery.min.js" type="text/javascript"></script> <script src="jSignature.min.js"></script> </head> <body ontouchmove="event.preventDefault()"> <div id="signCont"></div> </body> </html>
其中的signCont是用來初始化canvans的容器,貼出js代碼
var dHeight = document.getElementById("signCont").offsetHeight + "px"; var dWidth = document.getElementById("signCont").offsetWidth ; $("#signCont").jSignature({'UndoButton':false,'height':dHeight,'width':dWidth,'signatureLine':false,'lineWidth':'2','decor-color':'#fff'});
參數中的 UndoButton 是用來設置是否顯示清楚上一步的按鈕,signatureLine是該插件默認的一個下划線,默認為true,false為不顯示(親測不成功,所以設置'decor-color'的顏色與背景色一致時,就會將默認的橫線去掉。),lineWidth為線寬。
簽名時畫的canvans圖形還可以使用png、jpg等格式將其保存,具體使用方法可以查看官方文檔及demo,總的來說,改插件適合移動端、pc端,功能強大
鏈接地址:http://www.jq22.com/demo/jSignature-master201704170038/