HTML5 でジェスチャー画面のロック解除を実装_html/css_WEB-ITnose
詳細はクリックしてください
エフェクト表示
実装原理
ロック解除された円を描画するには、HTML5キャンバスを使用しますこれらのサークルのロックを解除するには、イベントをタッチします。コード。
- function createCircle() {// ロック解除ポイントの座標を作成し、キャンバスのサイズに従って半径を均等に分配します
- var n =chooseType;// n*n 行列を描画します
- lastPoint = [];
- arr = [];
- restPoint = [];
- r = ctx.canvas.width / (2 + 4 * n);// 式の計算半径はサイズに関連します(var i = 0; i< n; i ++){ 3 * r、
- *r
- コードのコードの
- キャンバスの円が描かれた後、イベントバインディングが可能です
-
- function bindingEvent() {
- can.addEventListener("touchstart", function (e) {
- var po = getPosition(e);
- console.log(po);
- for (var i = 0 ; i
- if (Math.abs(po.x - arr[i].x) && Math.abs(po.y - arr[i].y) < r) { // 圈圈内部で開始点の有無を判断します
- touchFlag = true;
- drawPoint(arr[i].x,arr[i].y);
- lastPoint.push( arr[i]);
- restPoint.splice(i,1);
- break;
- }
- }
- }, false);
- can.addEventListener("touchmove", function (e) {
- if (touchFlag) {
- update(getPosition(e));
- }
- }, false);
- can.addEventListener("touchend", function (e) {
- if (touchFlag) {
- touchFlag = false;
- storePass(lastPoint);
- setTimeout(function(){
- init();
- }, 300);
- }
- }, false);
- }
复制代
次へ了最关键の步默制解锁路径逻辑,过touchmoveイベントの不断接触発行,调用canvasのmoveToメソッドとlineToメソッドを使って描画します,同時に私が到達したかどうかを判断します画の圈圈里面、その中に lastPoint は正しい圈路を保持し、restPoint はすべての圈圈削除正圈路の後に残ります。時刻调用
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);- for (var i = 0 ;私は<配列の長さ ; i++) { // 每帧先握面板画出来
- drawCle(arr[i].x, arr[i].y);
- }
- drawPoint(lastPoint);// 每帧花轨迹
- ドローライン(PO、lastPoint); // ].x) < r && Math.abs(po.y -restPoint[i].y) < r) {
- drawPoint(restPoint[i].x,restPoint[i].y);
- lastPoint .push(restPoint[i]);
- restPoint.splice(i, 1);
- Break;
- }
- }
- 复制幣
- function storePass(psw) {//タッチエンド終了後のパスワードとステータスの処理
- if (pswObj.step == 1) {
- if (checkPass(pswObj.fpassword , psw)) {
- pswObj.step = 2; pswObj.spassword = pswObj.step = '; drawStatusPoint('#2CFF26'); .setItem('passwordx', JSON.stringify(pswObj.spassword));
- window.localStorage.set (('chooseType',chooseType)); document.getElementById('title').innerHTML = '2 回矛盾しています、再入力';
- 、 psw)) {
- document.getElementById('title') drawStatus。 Point('red');
- document.getElementById('title').innerHTML = 'ロック解除に失敗しました'; j.fpassword = psw;
- document.getElementById('title') .innerHTML = 'Enter again'; ML5 のロック解除はコンポーネントとして記述され、https://github に配置されています。チーム: http://www. loyteam.com/2015/07 ... u-shou-shi-jie-suo/
- HTML5 コンテンツの詳細については、
- をクリックしてください。
最後のステップは仕上げ作業で、パス内の lastPoint によって保存された配列をパスワードに変換してローカルストレージに保存します。これはロック解除の検証ロジックの処理に使用されます。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。
