JavaScript はクリックして画像の形状を変更する (変換アプリケーション) を実装します。

JavaScript はクリックして画像の形状を変更する (変換アプリケーション) を実装します。

JavaScriptをクリックすると画像の形状が変わります(変形の応用)。参考までに具体的な内容は以下のとおりです。

コードを添付してください:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>変換の応用</title>
    <スタイル タイプ="text/css">
        #箱{
            幅: 50px;
            高さ: 50px;
            背景色: 赤;
            /*平行移動、変位、回転、回転振幅、スケール、拡大、傾斜、傾き*/
            /*変換: translate(100px,200px) rotate(20deg) scale(2.0) skew(10deg);*/
        }
    </スタイル>
</head>
<本文>
    <button id="btn">変形</button>
    <div id="box"></div>
    <スクリプト>
        window.onload = 関数 (){
            var btn = document.getElementById("btn");
            var box = document.getElementById("box");
            var インデックス = 0;
            btn.onclick = 関数 (){
                インデックス++;
                box.style.transform = `translate(${index*100}px,${index*50}px) rotate(${index*10}deg) scale(${index*1.3})`;
            }
        }
    </スクリプト>
</本文>
</html>

実装効果図:

デフォルトでは:

変換をクリックした後:

変更を続行するにはもう一度クリックします。

以下は、変換の応用を時計の動きに拡張したものです。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>デジタル時計ケース</title>
    <スタイル タイプ="text/css">
        *{
            パディング: 0;
            マージン: 0;
        }
        #クロック{
            幅: 600ピクセル;
            高さ: 600px;
            背景: url("img/clock.jpg") 繰り返しなし;
            位置: 相対的;
        }
        #時間、#分、#秒
            位置: 絶対;
            幅: 30ピクセル;
            高さ: 600px;
            左: 50%;
            左マージン: -15px;
        }
        #時間{
            背景: url("img/hour.png") 繰り返しなし;
        }
        #分{
            背景: url("img/minute.png") 繰り返しなし;
        }
        #2番{
            背景: url("img/second.png") 繰り返しなし;
        }
    </スタイル>
</head>
<本文>
    <div id="時計">
        <div id="時間"></div>
        <div id="分"></div>
        <div id="2番目"></div>
    </div>
    <script type="text/javascript">
        // 1. タグを取得します。 var hour = document.getElementById("hour");
        var 分 = document.getElementById("分");
        var second = document.getElementById("second");

        // 2. タイマーを開始して現在の時刻を取得します setInterval(function (){
            // 2.1 現在のタイムスタンプを取得する var now = new Date();
            // 2.2 時間、分、秒を取得する var s = now.getSeconds();
            var m = now.getMinutes() + s/60;
            var h = now.getHours()%12 + m/60;

            // 2.3 回転 second.style.transform = `rotate(${s*6}deg)`;
            minute.style.transform = `rotate(${m*6}deg)`;
            hour.style.transform = `rotate(${h*30}deg)`;
        },10)
    </スクリプト>
</本文>
</html>

エフェクト画像を添付します(現在 8:01 です):

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jsは画像領域をクリックしてサイズを自由に変更できることを実現します(モバイル端末に適用可能)コード例
  • Vue.js トグルボタンをクリックして例の内容を変更します
  • jsは画像をクリックしてページの背景画像を変更するメソッドを実装します

<<:  CentOS 7.5 に Docker をインストールする詳細なチュートリアル

>>:  MySQLデータベースのマスタースレーブ同期構成と読み取り書き込み分離

推薦する

無効と読み取り専用で入力を読み取り専用に設定する

読み取り専用入力を実現するには、無効と読み取り専用の 2 つの方法があります。当然、どちらの結果も読...

Docker の win ping 失敗コンテナ回避ガイド

win docker-desktopを使ってコンテナ開発に接続し、ネットワーク上で色々試してみたいと...

VMware Workstation 15 Pro インストール ガイド (初心者向け)

01. VMware Workstation Pro 15 のダウンロードダウンロード: VMwa...

Vue3.xはコンポーネント通信にmitt.jsを使用します

目次クイックスタート使い方基本原則Vue2.x はコンポーネント通信に EventBus を使用しま...

MySQL 5.7 の Docker バージョンを MySQL 8.0.13 にアップグレードし、データを移行する

目次1. 古いMySQL5.7データをバックアップする2. MySQL8.0.13のイメージをプルし...

Win7 での mysql5.5 インストール グラフィック チュートリアル

MySQL のインストールは比較的簡単なので、通常は次のステップに直接進み、注意が必要な点に集中する...

WeChatアプレットはキャンバスを使用して時計を描画します

この記事では、キャンバスを使用してWeChatアプレットに時計を描く具体的なコードを参考までに共有し...

フロントエンドが習得すべき、複数列の等高レイアウトを実現するための CSS テクニック

1. はじめにページを作成しているときに、複数列のレイアウトに遭遇することがあります。各列の内容が異...

JavaScript Domはカルーセルの原理と例を実装します

カルーセルを作りたい場合、まずその原理を理解する必要があります。画像を右から左にスライドさせるにはど...

Ubuntu 18.04 に vsftpd をインストールするための実装コード

vsftpdをインストールする $ sudo apt-get install vsftpd -y v...

MySQL ビューの原理と基本操作例

この記事では、例を使用して、MySQL ビューの原理と基本操作を説明します。ご参考までに、詳細は以下...

特定の MySQL テーブルの完全データと増分データをメッセージ キューに同期する - ソリューション

目次1. 当初の需要2. 解決策3. 運河の導入と設置運河の仕組み建築インストール4. 検証1. 当...

Canonical が Flutter で Linux デスクトップ アプリを有効化 (推奨)

Google の Flutter の目標は、どのプラットフォームを使用していても、ネイティブの速度...

Docker で TLS と CA 認証を有効にする方法

目次1. 証明書を生成する2. リモートを有効にする3. リモート接続3.1 Jenkins接続3....

Angularルーティングサブルートの詳細な説明

目次1. サブルート構文2. 例1. 2つの新しいコンポーネントを作成し、その内容を変更する2. ル...