Win10の明るさ調整効果を模倣するHTML+CSS+JSサンプルコード

Win10の明るさ調整効果を模倣するHTML+CSS+JSサンプルコード

HTML+CSS+JS で Win10 の明るさ調整効果を模倣

コード

<!doctypehtml>
<html>
	<ヘッド>
		<メタ文字セット="utf-8">
		<title>Win10 の明るさ調整を模倣する</title>
		<スタイル>
			.コントロールバー{
				高さ:200px;
				幅:500ピクセル;
				border-bottom:3px 実線 #888888;
				
			}
			.コントロールバーカーソル{
				高さ:25px;
				幅:8px;
				背景: #505151;
				境界線の半径:5px;
				上マージン:-12.5px;
				位置:相対;
				トップ:0;
				左:0;
			}
			.コントロールバーカーソル:ホバー{
				背景:白;
			}
			#コントロールバーマスク{
				上マージン:-203px;
				幅:0px;
			}
			。マスク{
				位置:固定;
				下:0;
				トップ:0;
				左:0;
				右:0;
				背景:黒;
				zインデックス:-1;
			}
		</スタイル>
	</head>
	<本文>
		<div class="mask"></div>
		<div class="control_bar"></div>
		<div class="control_bar" style="border-bottom:3px solid #505151;" id="control_bar_mask"></div>
		<div class="control_bar_cursor"></div>
	</本文>
	<スクリプト>
		window.onload = 関数(){
			var control_bar = document.getElementsByClassName("control_bar")[0];
			var コントロール バー マスク = document.getElementById("コントロール バー マスク");
			var control_bar_cursor = document.getElementsByClassName("control_bar_cursor")[0];
			コントロールバーカーソルのオフセットを設定します。
			var マスク = document.getElementsByClassName("マスク")[0];
			document.body.onmousedown = 関数(){
				window.onmousemove = 関数(){
					var カーソル_X = event.clientX;
					var カーソル_Y = event.clientY;
					カーソルXがdef_leftの場合
						コントロールバーカーソル.style.left = 0;
					}それ以外の場合(cursor_X > control_bar.offsetWidth + def_left){
						コントロールバーカーソルのスタイルを左にドラッグします。
					}それ以外{
						control_bar_cursor.style.left = cursor_X - def_left + "px";
					}
					//明るさの比率 var ratio = parseInt(control_bar_cursor.offsetLeft - def_left) / parseInt(control_bar.offsetWidth - 1);
					control_bar_mask.style.width = 比率 * control_bar.offsetWidth + "px";
					mask.style.opacity = 1 - 比率;
					};
				window.onmouseup = 関数(){
					ウィンドウのonmousemove = null;
				};
			};
		};
	</スクリプト>
</html>

1. 各要素の外観を書き留める

ここでは、観察しやすいようにボディに背景色が追加されています。

html

<div class="コントロールバー">
</div>
<div class="control_bar" style="border-bottom:3px solid #505151;"  
id="コントロールバーマスク>
</div>
<div class="コントロールバーカーソル">
</div>

CS

体{
    背景:バック;
}
.コントロールバー{
    高さ:200px;
    幅:500ピクセル;
    border-bottom:3px 実線 #888888;
}
.コントロールバーカーソル{
    高さ:25px;
    幅:8px;
    背景: #505151;
    境界線の半径:5px;
}

レンダリング

2. 要素を積み重ねる

CS

体{
    背景:黒;
}
.コントロールバー{
    高さ:200px;
    幅:500ピクセル;
    border-bottom:3px 実線 #888888;

}
.コントロールバーカーソル{
    高さ:25px;
    幅:8px;
    背景: #505151;
    境界線の半径:5px;
    上マージン:-12.5px;
    位置:相対;
    トップ:0;
    左:0;
}
.コントロールバーカーソル:ホバー{
    背景:白;
}
#コントロールバーマスク{
    上マージン:-203px;
    幅:100ピクセル;
}

マスク効果を出すために、マスクレイヤーのdiv幅を小さく設定します。

3. jsを追加する

js

window.onload = 関数(){
    var control_bar = document.getElementsByClassName("control_bar")[0];
    var コントロール バー マスク = document.getElementById("コントロール バー マスク");
    var control_bar_cursor = document.getElementsByClassName("control_bar_cursor")[0];
    コントロールバーカーソルのオフセットを設定します。
    document.body.onmousedown = 関数(){
        window.onmousemove = 関数(){
            var カーソル_X = event.clientX;
            var カーソル_Y = event.clientY;
            カーソルXがdef_leftの場合
                コントロールバーカーソル.style.left = 0;
            }それ以外の場合(cursor_X > control_bar.offsetWidth + def_left){
                コントロールバーカーソルのスタイルを左にドラッグします。
            }それ以外{
                control_bar_cursor.style.left = cursor_X - def_left + "px";
            }
            var 比率 = parseInt(control_bar_cursor.offsetLeft - def_left) / parseInt(control_bar.offsetWidth - 1);
            control_bar_mask.style.width = 比率 * control_bar.offsetWidth + "px";
        };
        window.onmouseup = 関数(){
            ウィンドウのマウス移動を null にします。
        };
    };
};

4.マスクを追加し、コントロールバーを使用して透明度を制御し、明るさ調整効果を実現します。

<div class="mask"></div>
。マスク{
    位置:固定;
    下:0;
    トップ:0;
    左:0;
    右:0;
    背景:黒;
    zインデックス:-1;
}
window.onload = 関数(){
    var control_bar = document.getElementsByClassName("control_bar")[0];
    var コントロール バー マスク = document.getElementById("コントロール バー マスク");
    var control_bar_cursor = document.getElementsByClassName("control_bar_cursor")[0];
    コントロールバーカーソルのオフセットを設定します。
    var マスク = document.getElementsByClassName("マスク")[0];
    document.body.onmousedown = 関数(){
        window.onmousemove = 関数(){
            var カーソル_X = event.clientX;
            var カーソル_Y = event.clientY;
            カーソルXがdef_leftの場合
                コントロールバーカーソル.style.left = 0;
            }それ以外の場合(cursor_X > control_bar.offsetWidth + def_left){
                コントロールバーカーソルのスタイルを左にドラッグします。
            }それ以外{
                control_bar_cursor.style.left = cursor_X - def_left + "px";
            }
            //明るさの比率 var ratio = parseInt(control_bar_cursor.offsetLeft - def_left) / parseInt(control_bar.offsetWidth - 1);
            control_bar_mask.style.width = 比率 * control_bar.offsetWidth + "px";
            mask.style.opacity = 1 - 比率;
        };
        window.onmouseup = 関数(){
            ウィンドウのマウス移動を null にします。
        };
    };
};

要約する

これで、Win10 の明るさ調整効果を模倣する HTML+CSS+JS のサンプル コードに関するこの記事は終了です。より関連性の高い HTML CSS Win10 明るさ調整コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

<<:  jQueryのコア機能とイベント処理の詳細な説明

>>:  mysql8.x docker リモートアクセスの詳細な設定

推薦する

VMware 仮想マシンの 3 つのネットワーク方式と原則 (概要)

1. ブリッジ: デフォルトでは VMnet0 が使用されます1. 原則:ブリッジは、それぞれ 2...

マークアップ言語 - リスト再び

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

Django2.* + Mysql5.7 開発環境統合チュートリアル図

環境: 10.12 の新機能Python 3.6 MySQL 5.7.25 の場合ジャンゴ 2.2....

Node.js でのクラスター作成に関する簡単な説明

目次クラスタクラスターの詳細クラスター内のイベントクラスター内のメソッドクラスター内の属性クラスター...

Nginx で 403 forbidden を解決するための完全な手順

ウェブページに403 Forbiddenと表示されるNginx (yum インストール ログは通常 ...

Centos7.3 に mysql5.7.18 をインストールするための詳細なチュートリアル

1 Linuxディストリビューションのバージョンを確認する[root@typecodes ~]# c...

Linux で独自の Nexus プライベート サーバーを構築する方法

この記事では、Linuxサーバー上でDockerを使用してNexusプライベートサーバーを構築する方...

Docker+Selenium Grid に基づく技術アプリケーションをテストするためのサンプル コード

Selenium Grid の紹介Selenium Grid のいくつかの新しい機能は、今後リリース...

Vue のドロップダウン ボックスのセカンダリ リンク効果を実装するためのサンプル コード

1. 成果を達成する 2. バックエンドから返されるデータ形式 「リスト」: [ { "i...

HTML インライン要素と HTML ブロックレベル要素の概要と違い

ブロックレベル要素の機能: • 常に新しい行から始まり、それ自体で 1 行を占め、後続の要素も新しい...

MySQL 外部キー設定方法の例

1. 外部キーの設定方法1. MySQL では、2 つのテーブルを関連付けるために、外部キー (FO...

Nginx における accept lock の仕組みと実装の詳細な説明

序文nginx はマルチプロセス モデルを使用します。リクエストが届くと、システムはプロセスをロック...

Vueブラウザが監視を再開するための具体的な手順

序文ページを共有するときに、ブラウザの戻るボタンをクリックしてプロジェクトのホームページに戻り、訪問...

Zookeeper&Kafka クラスターを構築するための Docker の実装

最近Kafka勉強しています。クラスタの状態をテストする準備をしていたときに、仮想マシンを 3 つ開...

Vueはズームイン、ズームアウト、ドラッグ機能を実装しています

この記事では、参考までに、ズームインとズームアウトのドラッグ機能を実現するためのVueの具体的なコー...