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

推薦する

JS+AJAX は、州、市、地区のドロップダウン リストのリンクを実現します。

この記事では、州、市、地区のドロップダウンリストのリンクを実現するためのJS + AJAXの具体的な...

Linuxシステムはルートアカウントのリモートログインコマンドを禁止しています

ps: Linux システムで root アカウントのリモート ログインを無効にする方法は次のとおり...

Vueの使用に関する深い理解

目次Vueのコアコンセプトを理解するVueの双方向バインディングの原理と実装を探るVue 双方向バイ...

vue フロントエンド HbuliderEslint リアルタイム検証 自動修復設定

目次HBuilderX での ESLint プラグインのインストールカスタム eslint-js ル...

MySQLのexplain型の詳細な説明

導入:多くの場合、さまざまな選択ステートメントを使用して必要なデータを照会した後、多くの人は作業が正...

Ubuntu 20.04でAliソースを変更する方法

なお、この記事では、単に 20.04 ソースに変更する方法を説明するのではなく、20.04 に基づい...

Linux の非常に詳細な gcc アップグレード プロセス

目次序文1. 現在のgccバージョン2. gccをインストールする3.gmpのインストール4.MPF...

Bash で山括弧を使用するその他の方法

序文この記事では、山括弧のその他の用途をさらに詳しく見ていきます。前回の記事では、山括弧 (<...

after疑似要素を使用して中空の三角矢印とXアイコンを実装する例

フロントエンドのデザイン案では、「X」や「>」の形をした閉じるボタンや、他の 3 方向の白抜き...

JavaScript で大きなファイルの並列ダウンロードを実装する方法

目次1. HTTP範囲リクエスト1.1 範囲構文2. 大きなファイルをダウンロードする方法2.1 補...

フレックスレイアウトのスペース間の最後の行の左揃えの問題を解決する方法

まずはコードと効果を見てみましょう↓ <スタイル> 。主要 { アウトライン: 1px ...

UbuntuはCUDAの複数のバージョンをインストールし、いつでも切り替えることができます

CUDA とは何かを紹介するのではなく、複数の CUDA バージョンの共存とリアルタイム切り替えをど...

Ubuntu 18.04 向け VMware Tools のインストールと構成のチュートリアル

この記事では、Ubuntu 18.04でのVMware Toolsのインストールと設定について記録し...

CSS3 で transform を使用した場合のフォントぼかしの解決方法の詳細な説明

この質問は非常に奇妙なので、あまり多くを語らずにコードに直接進みます。 .g-ダイアログラッパー{ ...

eCharts でパーセンテージ付きの横棒グラフを実装する方法

目次サンプルコードレンダリングコード分​​析要約するサンプルコード var データ = [220, ...