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データベースのマスタースレーブ同期構成と読み取り書き込み分離

推薦する

VMwareがwin10ホームバージョンに64ビットオペレーティングシステムをインストールできない問題を解決します

問題の説明VMware Workstationが新しい仮想マシンを作成し、64ビットオペレーティング...

Keras を使って SQL インジェクション攻撃を判断する (例の説明)

この記事では、ディープラーニングフレームワーク keras を使用して、SQL インジェクションの特...

Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント

Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒントbashに詳しい人なら、hi...

JavaScript はモーダルボックスのドラッグ効果を実現します

これはモーダル ボックスのドラッグのケースです。ここで実装する関数は次のとおりです。 1. ポップア...

Vue は Axios リクエスト フロントエンドのクロスドメイン問題をどのように解決するのか

目次序文1. クロスドメインの問題はなぜ発生するのでしょうか? 2. 解決策クロスオリジンリソース共...

MYSQLの文字セット設定方法(端末の文字セット)の詳しい説明

序文ターミナルを使用してデータベースまたはテーブルを作成するたびに、文字セットが latin1 であ...

LinuxシステムにDockerをインストールするプロセス

このブログでは、Docker をインストールするプロセスを簡単な手順で説明します。Docker のイ...

MySQLがトランザクション分離を実装する方法の簡単な分析

目次1. はじめに2. RC および RR 分離レベル2.1. RRトランザクション分離レベルでのク...

userdel コマンドを使用して Linux ユーザーを削除する方法の詳細なチュートリアル

セルデルとは何かuserdel は、ユーザーを削除するための低レベルのツールです。 Debian で...

Tomcat のセッションと Cookie の詳細な説明

序文HTTP はステートレスな通信プロトコルです。各リクエストは互いに独立しており、サーバーは以前の...

Vue3.0でカスタム命令を書くための簡単な手順

序文Vue には、v-if、v-bind、v-on などの豊富な組み込みディレクティブが用意されてい...

Linux ps および pstree コマンドの知識ポイントのまとめ

Linux の ps コマンドは Process Status の略です。 ps コマンドは、システ...

MySQL 8.0 バージョンで getTables がすべてのデータベース テーブルを返す問題の簡単な分析

序文この記事では、主にライブラリ内のすべてのテーブルを返すMysql8.0ドライバgetTables...

js における関数のネストとクロージャの詳細

目次1. 範囲2. 関数の戻り値3. 関数のネスト4. 終了5. クロージャの実用的応用1. 内部変...

MySQL ダーティ ページ フラッシュとテーブル スペースの縮小の原理の分析

mysql ダーティページWAL メカニズムにより、InnoDB はステートメントを更新するときに、...