タッチスクリーン携帯電話のダイヤルインターフェースと機能を模倣したJS CSSの完全な例simulation_javascriptスキル
この記事の例では、タッチ スクリーン携帯電話のダイヤル パッド インターフェイスと機能シミュレーションを模倣するための 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 プログラミングに役立つことを願っています。

ホット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)

ホットトピック









ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップリストのデフォルトスタイルは、CSSオーバーライドで削除できます。より具体的なCSSルールとセレクターを使用し、「近接原理」と「重量原理」に従って、ブートストラップのデフォルトスタイルをオーバーライドします。スタイルの競合を避けるために、よりターゲットを絞ったセレクターを使用できます。オーバーライドが失敗した場合は、カスタムCSSの重量を調整します。同時に、パフォーマンスの最適化に注意を払い、重要な!の過剰使用を避け、簡潔で効率的なCSSコードを書いてください。

ファイルアップロード機能は、Bootstrapを介して実装できます。手順は次のとおりです。BootstrapCSSおよびJavaScriptファイルを紹介します。ファイル入力フィールドを作成します。ファイルアップロードボタンを作成します。ファイルのアップロードを処理します(FormDataを使用してデータを収集し、サーバーに送信します)。カスタムスタイル(オプション)。

ブートストラップリストのサイズは、リスト自体ではなく、リストを含むコンテナのサイズに依存します。 BootstrapのグリッドシステムまたはFlexBoxを使用すると、コンテナのサイズを制御することで、リスト項目を間接的に変更します。

回答:ブートストラップの日付ピッカーコンポーネントを使用して、ページで日付を表示できます。手順:ブートストラップフレームワークを紹介します。 HTMLで日付セレクター入力ボックスを作成します。ブートストラップは、セレクターにスタイルを自動的に追加します。 JavaScriptを使用して、選択した日付を取得します。

Bootstrapを使用してWebサイトをレイアウトするには、グリッドシステムを使用してページをコンテナ、行、列に分割する必要があります。最初にコンテナを追加し、その中の行を追加し、行内の列を追加し、最後に列にコンテンツを追加します。ブートストラップのレスポンシブレイアウト関数は、ブレークポイント(XS、SM、MD、LG、XL)に従ってレイアウトを自動的に調整します。レスポンシブクラスを使用することで、異なる画面サイズの下の異なるレイアウトを実現できます。
