今日会社から課題をもらったのですが、効果図は以下のとおりです。 どのような効果を実現したいかは特に決めていませんでしたが、純粋なデジタル変換ではシンプルすぎると思ったので、カードをめくる効果だけにしました。 エフェクトのプレビューは新しいウィンドウで開きます: https://codepen.io/andy-js/pen/ExaGxaL まずページレイアウトを行います。 <ul></ul> 本文{背景: #000;} ul{ リストスタイル: なし; マージン:100px 0; ディスプレイ: フレックス; コンテンツを中央揃えにする。 行の高さ: 56px; 高さ:56px; フォントサイズ: 39.6px; 色: #FFFFFF; 変換スタイル:3D を保持します。 パースペクティブ:1000px; } li{ 高さ:56px; マージン:0 10px; 背景:なし; 幅:16px; 位置: 相対的; } .num{ 幅:46ピクセル; 変換スタイル:3D を保持します。 パースペクティブ:1000px; 変換:Y軸を0度回転します。 遷移: 1s すべて緩和; } p{ 高さ:56px; 幅:46ピクセル; テキスト配置: 中央; 背景: #EC2C5C; 境界線の半径: 2.57px; 位置: 絶対; } p:n番目の子(2){ 変換: スケールx(-1) 移動Z(-1px); } 次に、動的な挿入を通じて、このような効果をシミュレートします。アニメーションを作成するには、Transition を使用します。反転を作成するには、Transform:rotateY を使用します。反転する前に、別の数値 scalex を左右にミラーリングしてから、translateZ (-1px) を他の数値の背面に移動します。このようにして、反転するとミラーリングされた数値が表示されます。完璧ではなく、改善できる場所はまだたくさんあります。完全なコードは次のとおりです。 <スクリプト> var 番号 = 9999993、 numArr=addComma(数値)、 数値=[], oUl=document.getElementsByTagName('ul')[0]; for(let i=0;i<numArr.length;i++){ li = document.createElement('li') とします。 oUl.appendChild(li); if(numArr[i]==',') li.innerHTML=','; それ以外 li.innerHTML='<p>'+numArr[i]+'</p><p></p>', li.className='num', li.deg=0, aNum.push(li); }; setInterval(関数(){ changeNum=number+1+'' とします。 changeArr = addComma(changeNum) とします。 差=changeArr.length-numArr.length; if(違い){ for(let i=0;i<difference;i++){ li = document.createElement('li') とします。 oUl.insertBefore(li、oUl.children[0]); if(changeArr[i]==',') li.innerHTML=','; それ以外 li.innerHTML='<p>'+changeArr[i]+'</p><p></p>', li.className='num', li.deg=0, aNum.unshift(li); }; }; 数値+=''; for(let i=changeNum.length-number.length;i<changeNum.length;i++){ if(changeNum[i]==number[i]) 続行; deg = aNum[i].degとします。 aNum[i].deg=deg=deg+180; index=(deg/180)%2とします。 aNum[i].children[index].innerHTML=changeNum[i]; aNum[i].style.transform='rotateY('+deg+'deg)'; }; 数値=数値(changeNum); numArr=変更Arr; },2000); function addComma(num){ //3桁ごとに豆番号を追加します return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); }; </スクリプト> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: HTML およびプラグイン アプリケーションにおけるデータ カスタム属性の使用の概要
>>: セマンティクス: Html/Xhtml は本当に標準に準拠していますか?
目次1. 終了2. クロージャの使用シナリオ1.タイムアウトを設定する2. コールバック3. 手ぶれ...
1.Mysqlイメージを取得するdocker pull mysql:5.7 2. MySQLイメージ...
この記事の例では、ストップウォッチタイマーを実装するためのJSの具体的なコードを参考までに共有してい...
Nginx ロード バランシング サーバー: IP: 192.168.0.4 (Nginx-Serv...
inode番号でファイルを削除するまずls -iを使用して、削除するファイルのinode番号を見つけ...
デフォルトでは、CentOS 7 上の PHP は apache または nobody として実行さ...
type はブラウザでの入力と出力に使用されるコントロールです (たとえば、type="t...
免責事項:プロジェクトでは ROS 環境を使用する必要があるため、これは Ubuntu 20.04 ...
目次1. 概要2. nginx.conf 1) 設定ファイルの場所2) ワーカープロセス3) イベン...
MySQL は、スウェーデンの会社 MySQL AB によって開発され、現在は Oracle が所有...
解決:リンクのターゲット属性値をターゲット フレームワーク名と同じに設定するだけです。具体的な手順:...
質問1 解決するサービスを開始します: service mysqld start; /sbin/ip...
目次1. コンテンツの概要2. 文字セットと文字順序の概念と関係3. MySQL でサポートされてい...
1. mycatとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベ...
この記事の例では、画像のドラッグと並べ替えを実装するためのVueの具体的なコードを参考までに共有して...