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 リモートアクセスの詳細な設定

推薦する

CSS マージンの重複と解決策の探索の詳細な説明

最近、CSS 関連の知識ポイントをいくつか見直し、CSS における典型的なマージンの重なりの問題を整...

html-webpack-plugin の使用方法の詳細な説明

最近、React プロジェクトで初めてhtml-webapck-pluginプラグインを使用しました...

SEATAトランザクションサービスDockerのデプロイ手順の詳細説明

1. データベース認証ステートメントを作成する > データベース seata を作成します。 ...

VScode リモート SSH リモート編集とデバッグコード

Visual Studio Code の最新の Insider バージョンには、コードのリモート デ...

カルーセル効果を実現するjQueryプラグイン

毎日jQueryプラグイン - カルーセルチャートを実装するためのjQueryプラグイン。参考までに...

CSSは、他のレイヤーを変更せずに、多層ネスト構造の最外層を回転させる効果を実現します。

次のようなシナリオがあります。円形のコンテナで、最も外側のコンテナの背景が円弧になっています。内側の...

div+cssとウェブ標準ページの利点

div 要素は、HTML ドキュメント内のブロックレベル コンテンツの構造と背景を提供するために使用...

ウェブサイトのビジュアルデザイン(画像とテキスト)における情報伝達の役割と方法

現代の Web ビジュアル デザインは、初期の情報の積み重ねから、その後のグラフィックスと抽象化、そ...

JavaScript の条件付きアクセス属性と矢印関数の紹介

目次1. 条件付きアクセス属性2. アロー関数の紹介1. 条件付きアクセス属性?. は ES2020...

JSで画面録画機能を作成する

OBS studioかっこいいですが、 JavaScriptもっとかっこいいです。では、 JavaS...

Mac に MySQL データベースをインストールし、環境変数を設定するためのグラフィック チュートリアル

目次MySQLをインストールする環境変数の設定MySQLをインストールするmysqlをダウンロードし...

JSで実施された機雷掃海プロジェクトの概要

この記事では、JS掃海プロジェクトの概要を参考までに紹介します。具体的な内容は次のとおりです。プロジ...

Linux スレッド間の同期と排他制御の知識ポイントのまとめ

スレッドが同時に実行される場合、スレッドがリソースを競合してデータの曖昧さが生じるのを防ぐために、重...

Nginxはクロスドメインの問題を解決し、サードパーティのページを埋め込む

目次序文困難クロスドメイン定義nginxの機能リバースプロキシ静的と動的の分離達成しようとする最終結...

CSS ラベルモード表示プロパティの詳細な説明

コードは次のようになります。 <!DOCTYPE html> <html> ...