この記事の例では、タッチ スクリーン携帯電話のダイヤル パッド インターフェイスと機能シミュレーションを模倣するための JS CSS の実装方法について説明します。皆さんの参考に共有してください。詳細は以下の通りです。
まず、オペレーションのレンダリングを見てみましょう:
具体的な実装コードは次のとおりです:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>仿安卓手机拨号界面按键特效</title> <script type="text/javascript" src="jquery-1.6.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { /* Current Tab */ $('.phone-tabs li a').click(function() { $('.phone-tabs li').removeClass('current'); $(this).parent().addClass('current'); }); /* Simple Tab */ var tabContents = $('.phone-tab-contents'); $('.phone-tabs .getphone').click(function() { tabContents.removeClass('getpeoples'); tabContents.removeClass('getclock'); }); $('.phone-tabs .getclock').click(function() { tabContents.removeClass('getpeoples'); tabContents.addClass('getclock'); }); $('.phone-tabs .getpeoples').click(function() { tabContents.removeClass('getclock'); tabContents.addClass('getpeoples'); }); /* Delete */ $('.delete-btn').click(function() { var numbers = $('.number-area .numbers').text(); var numbers2 = $('.number-area .numbers').text().length; $('.number-area .numbers').text(numbers.substr(0, numbers2 - 1)); }); /* Pusher */ var pusher = { number: function(num) { $('.numbers-container .pushed' + num + '').click(function() { $('.number-area .numbers').append('' + num + ''); }); } } pusher.number(1); pusher.number(2); pusher.number(3); pusher.number(4); pusher.number(5); pusher.number(6); pusher.number(7); pusher.number(8); pusher.number(9); pusher.number(0); $('.numbers-container .pushedasterisk').click(function() { $('.number-area .numbers').append('*'); }); $('.numbers-container .pushednumber').click(function() { $('.number-area .numbers').append('#'); }); }); </script> <style> *{ margin:0; padding:0; } ::selection{ background:transparent; } body{ color:#4196b7; font:normal 12px arial,sans-serif; } .nexus{ position:relative; margin:10px auto; width:314px; height:600px; border-radius:80px / 40px; border-top:3px solid #222; background:#6d6d6b; background:-moz-linear-gradient(left, #6d6d6b 0%, #3b3b3c 1%, #979797 3%, #686868 4%, #2e2e2e 100%); background:-webkit-gradient(linear, left top, right top, color-stop(0%,#6d6d6b), color-stop(1%,#3b3b3c), color-stop (3%,#979797), color-stop(4%,#686868), color-stop(100%,#2e2e2e)); background:-webkit-linear-gradient(left, #6d6d6b 0%,#3b3b3c 1%,#979797 3%,#686868 4%,#2e2e2e 100%); background:-o-linear-gradient(left, #6d6d6b 0%,#3b3b3c 1%,#979797 3%,#686868 4%,#2e2e2e 100%); background:-ms-linear-gradient(left, #6d6d6b 0%,#3b3b3c 1%,#979797 3%,#686868 4%,#2e2e2e 100%); background:linear-gradient(to right, #6d6d6b 0%,#3b3b3c 1%,#979797 3%,#686868 4%,#2e2e2e 100%); filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#6d6d6b', endColorstr='#2e2e2e',GradientType=1 ); } .nexus:before{ position:absolute; content:''; z-index:-1; top:-6px; left:0px; background:#babbbb; width:314px; height:78px; border-radius:25% / 45%; border-top:1px solid #444; } .nexus:after{ position:absolute; content:''; z-index:-1; bottom:-5px; left:0px; background:#babbbb; width:314px; height:78px; border-radius:25% / 45%; border-bottom:2px solid #555; } .speaker{ position:absolute; left:0px; top:0px; width:65px; height:5px; background:#333; left:50%; margin-left:-33px; border-radius:0 0 6px 6px; border:1px solid #474747; border-top:0; box-shadow:inset 0 0 1px black; } .screen{ position:absolute; left:17px; top:64px; width:282px; height:467px; background:white; } .phone-infos{ width:100%; height:17px; background:#303030; } .phone-infos span{ float:right; font-size:11px; margin:2px 3px; } .phone-infos .battery{ width:8px; height:10px; background:#4196b7; margin-top:2px; position:relative; margin-top:4px; } .phone-infos .battery:before{ width:4px; height:2px; position:absolute; left:2px; top:-2px; background:#4196b7; content:''; } .phone-infos .gsm{ position:relative; height:12px; margin-right:10px; } .phone-infos .gsm b{ float:left; position:absolute; bottom:0; } .phone-infos .gsm b:before{ position:absolute; content:''; top:-3px; width:0; height:0; border-bottom:3px solid #4196b7; border-left:3px solid transparent; } .phone-infos .gsm .signal1{ width:3px; height:0px; background:#4196b7; left:-8px; } .phone-infos .gsm .signal2{ width:3px; height:3px; background:#4196b7; left:-4px; } .phone-infos .gsm .signal3{ width:3px; height:7px; background:#4196b7; } .phone-infos .gsm .signal4{ width:3px; height:11px; background:#808184; left:4px; } .phone-infos .gsm .signal4:before{ border-bottom:3px solid #808184; border-left:3px solid transparent; } .phone-tabs{ border-bottom:1px solid #858383; background:#303030; height:50px; } .phone-tabs li{ float:left; list-style:none; -webkit-transition:all .05s ease-in; -moz-transition:all .05s ease-in; -o-transition:all .05s ease-in; transition:all .05s ease-in; } .phone-tabs li a{ -webkit-transition:all .05s ease-in; -moz-transition:all .05s ease-in; -o-transition:all .05s ease-in; transition:all .05s ease-in; text-decoration:none; background:#303030; cursor:pointer; height:40px; width:94px; display:block; text-align:center; position:relative; padding-top:10px; } .phone-tabs li a:active{ background:rgba(104,208,249,.4); } .phone-tabs li a:before{ height:20px; width:1px; background:#858383; position:absolute; content:''; left:0; top:16px; } .phone-tabs li:first-child a:before{ display:none; } .phone-tabs li.current a:after{ position:absolute; content:''; left:0px; bottom:0px; width:100%; height:5px; background:#4196b7; } .phone-tab-contents{ width:100%; height:365px; position:relative; overflow:hidden; } .phone-tab-contents .tab{ width:100%; height:365px; position:absolute; background:#3f3f3f; position:absolute; -webkit-transition:all .25s ease-in; -moz-transition:all .25s ease-in; -o-transition:all .25s ease-in; transition:all .25s ease-in; } .phone-tab-contents .tab.phone{ left:0; background:#3f3f3f url(data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAOO07anMSKLgQT2Z3nOggvCBECKwILIAmBBdAGQIABJuxH63EphJgAAAAB JRU5ErkJggg==) repeat; } .phone-tab-contents .tab.clock{ left:282px; } .phone-tab-contents .tab.peoples{ left:564px; } .phone-tab-contents.getclock .tab.phone{ left:-282px; } .phone-tab-contents.getclock .tab.clock{ left:0px; } .phone-tab-contents.getclock .tab.peoples{ left:282px; } .phone-tab-contents.getpeoples .tab.phone{ left:-564px; } .phone-tab-contents.getpeoples .tab.clock{ left:-282px; } .phone-tab-contents.getpeoples .tab.peoples{ left:0px; } .phone-tab-contents .tab.clock p:first-child, .phone-tab-contents .tab.peoples p:first-child{ margin-top:50px; } .phone-tab-contents .tab.peoples p, .phone-tab-contents .tab.clock p{ width:90%; padding:10px 5% 0; text-align:center; color:#bbb; } .phone-tab-contents .tab.peoples p a, .phone-tab-contents .tab.clock p a{ color:#fff; } .main-btns{ width:100%; height:34px; background:#303030; } .main-btns li{ list-style:none; float:left; } .main-btns li a{ width:30px; display:block; width:94px; height:34px; text-align:center; } .number-area{ color:#fff; font-size:20px; text-align:center; padding:20px 0 20px; width:100%; overflow:hidden; border-bottom:1px solid #333; margin-bottom:10px; } .number-area .numbers{ width:230px; float:left; padding:0 10px; height:14px; } .number-area .delete-btn{ float:right; margin-right:10px; cursor:pointer; } .numbers-container{ overflow:hidden; } .numbers-container span{ width:94px; height:30px; float:left; font-size:30px; text-indent:22px; position:relative; padding:15px 0; cursor:pointer; } .numbers-container span:active{ background:rgba(104,208,249,.4); } .numbers-container span em{ font-size:12px; color:#fff; font-style:normal; position:absolute; left:22px; bottom:15px; padding-bottom:5px; } .numbers-container span em.brd:before{ position:absolute; width:14px; height:2px; background:#fff; content:''; top:9px; left:24px; } .numbers-container span em:after{ width:35px; height:2px; background:#4196b7; content:''; position:absolute; top:16px; left:22px; } .numbers-container span.fff{ color:#fff; text-align:center; } .call-btn{ width:100%; text-align:center; border-top:1px solid #333; padding-top:10px; } /* Icon Group */ .icon{ display:inline-block; font-style:normal; position:relative; } .icon.phone{ background:#fff; width:5px; height:26px; -webkit-transform:rotate(145deg); -moz-transform:rotate(145deg); -o-transform:rotate(145deg); transform:rotate(145deg); border-radius:0 6px 6px 0; margin-top:5px; } .icon.phone:before{ position:absolute; content:''; width:8px; height:9px; background:#fff; left:-6px; bottom:-1px; border-radius:3px 6px 7px 3px; } .icon.phone:after{ position:absolute; content:''; width:8px; height:9px; background:#fff; left:-6px; top:-1px; border-radius:3px 6px 7px 3px; } .icon.clock{ background:#303030; width:22px; height:22px; border:2px solid #fff; border-radius:22px; margin-top:4px; } .icon.clock:before{ position:absolute; content:''; height:9px; width:2px; background:#fff; top:2px; left:10px; } .icon.clock:after{ position:absolute; content:''; height:9px; width:2px; background:#fff; top:9px; -webkit-transform:rotate(120deg); -o-transform:rotate(120deg); -moz-transform:rotate(120deg); transform:rotate(120deg); left:14px; } .icon.peoples{ background:#fff; height:10px; width:22px; border-radius:12px 12px 0 0; margin-top:20px; } .icon.peoples:after{ position:absolute; content:''; background:#fff; width:14px; height:14px; border:2px solid #303030; border-radius:18px; top:-14px; left:2px; z-index:10; } .icon.peoples:before{ position:absolute; content:''; background:#303030; width:10px; height:5px; left:6px; top:-5px; z-index:20; border-radius:0 0 15px 15px; } .icon.close{ font-size:12px; color:#303030; background:#fff; width:14px; height:12px; line-height:12px; margin-top:5px; } .icon.close:before{ position:absolute; content:''; left:-8px; width:0px; height:0px; border-style:solid; border-width:6.5px 8px 6.5px 0; border-color:transparent #ffffff transparent transparent; } .icon.home{ width:25px; height:8px; border:2px solid #bbbbbb; border-top:0; margin-top:15px; } .icon.home:after{ width:2px; height:17px; background:#bbbbbb; position:absolute; top:-12px; left:5px; content:''; -webkit-transform:rotate(70deg); -moz-transform:rotate(70deg); -o-transform:rotate(70deg); transform:rotate(70deg); } .icon.home:before{ width:2px; height:17px; background:#bbbbbb; position:absolute; top:-12px; right:5px; content:''; -webkit-transform:rotate(110deg); -moz-transform:rotate(110deg); -o-transform:rotate(110deg); transform:rotate(110deg); } .icon.windows{ width:20px; height:8px; border:2px solid #bbbbbb; margin-top:13px; } .icon.windows:after{ width:2px; height:14px; background:#bbbbbb; position:absolute; content:''; right:-6px; top:-6px; } .icon.windows:before{ width:22px; height:2px; background:#bbbbbb; position:absolute; content:''; right:-4px; top:-6px; } .icon.back{ width:20px; height:2px; background:#bbb; color:#bbb; font-size:18px; line-height:0px; text-indent:-16px; font-family:sans-serif; margin-top:12px; } .icon.back:before{ width:7px; height:11px; background:#303030; position:absolute; content:''; left:8px; z-index:10; top:2px; } .icon.back:after{ width:20px; height:7px; border:2px solid #bbb; position:absolute; content:''; border-radius:10px; } </style> </head> <body> <div class="nexus"> <div class="speaker"></div> <div class="screen"> <div class="phone-infos"> <span>03.15</span> <span class="battery"></span> <span class="gsm"> <b class="signal1"></b> <b class="signal2"></b> <b class="signal3"></b> <b class="signal4"></b> </span> </div> <ul class="phone-tabs"> <li class="current"><a class="getphone"><i class="icon phone"></i></a></li> <li><a class="getclock"><i class="icon clock"></i></a></li> <li><a class="getpeoples"><i class="icon peoples"></i></a></li> </ul> <div class="phone-tab-contents"> <div class="tab phone current"> <div class="number-area"> <span class="numbers"></span> <a class="delete-btn"><i class="icon close">x</i></a> </div> <div class="numbers-container"> <span class="pushed1">1<em class="brd">o o</em></span> <span class="pushed2">2<em>ABC</em></span> <span class="pushed3">3<em>DEF</em></span> <span class="pushed4">4<em>GHI</em></span> <span class="pushed5">5<em>JKL</em></span> <span class="pushed6">6<em>MNO</em></span> <span class="pushed7">7<em>PQRS</em></span> <span class="pushed8">8<em>TUV</em></span> <span class="pushed9">9<em>WXYZ</em></span> <span class="pushedasterisk fff">*</span> <span class="pushed0">0<em>+</em></span> <span class="pushednumber fff">#</span> </div> <div class="call-btn"> <i class="icon phone"></i> </div> </div> <div class="tab clock"> <p>Not Ready</p> <p>Visit Nexus 4 Official Page</p> <p><a href="/">/</a></p> <p>Visit My Site</p> <p><a href="/">/</a></p> </div> <div class="tab peoples"> <p>Not Ready</p> <p>Visit Nexus 4 Official Page</p> <p><a href="/">/</a></p> <p>Visit My Site</p> <p><a href="/">/</a></p> </div> </div> <ul class="main-btns"> <li><a><i class="icon back"><</i></a></li> <li><a><i class="icon home"></i></a></li> <li><a><i class="icon windows"></i></a></li> </ul> </div> </div> <div style="text-align:center;clear:both;"> </div> </body> </html>
この記事が皆さんの jQuery プログラミングに役立つことを願っています。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
