JSはプログレスバーをドラッグして要素の透明度を変更することを実装しています

JSはプログレスバーをドラッグして要素の透明度を変更することを実装しています

今日ご紹介したいのは、ネイティブ JS を使用してプログレス バーをドラッグし、要素の透明度を変更する方法です。効果は次のとおりです。

以下はコード実装です。コピーして貼り付けていただいて結構です。

<!DOCTYPE html>
<html>
 
<ヘッド>
    <meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=utf-8" />
    <title>ネイティブ JS ドラッグ プログレス バーで要素の透明度を変更する</title>
    <スタイル>
        #親 {
            幅: 400ピクセル;
            高さ: 20px;
            背景: #CCC;
            位置: 相対的;
            マージン: 20px 自動;
        }
 
        #div1 {
            幅: 20px;
            高さ: 20px;
            背景: 赤;
            カーソル: ポインタ;
            位置: 絶対;
        }
 
        #div2 {
            幅: 300ピクセル;
            高さ: 300px;
            マージン: 0 自動;
            フィルター:アルファ(不透明度:0);
            不透明度: 0;
            背景: 黄色;
        }
    </スタイル>
 
    <スクリプト>
        window.onload = 関数(){
 
            var oDiv = document.getElementById('div1');
            var oParent = document.getElementById('parent');
            var oDiv2 = document.getElementById('div2');
 
            oDiv.onmousedown = 関数 (ev) {
 
                var oEvent = ev || イベント;
                //スライダーに対するマウスの位置を計算します var disX = oEvent.clientX - oDiv.offsetLeft;
 
                document.onmousemove = 関数 (ev) {
 
                    var oEvent = ev || イベント;
                    //スライダーの動的な左値を計算します var l = oEvent.clientX - disX;
 
                    //ドラッグ範囲を制限する if (l < 0) {
 
                        0 の場合
 
                    } そうでない場合 (l > oParent.offsetWidth - oDiv.offsetWidth) {
 
                        l = oParent.offsetWidth - oDiv.offsetWidth;
                    }
 
                    oDiv.style.left = l + 'px';
 
                    //ドラッグ移動距離とドラッグ可能な合計範囲の比率を計算します。var scale = l / (oParent.offsetWidth - oDiv.offsetWidth);
 
                    //マウスをドラッグすると Div2 が徐々に表示または非表示になります oDiv2.style.filter = 'alpha(opacity:' + 100 * scale + ')';
                    oDiv2.style.opacity = スケール;
 
                };
 
                document.onmouseup = 関数(){
 
                    ドキュメント.onmousemove = null;
                    ドキュメント.onmouseup = null;
                };
            };
        };
    </スクリプト>
</head>
 
<本文>
    <div id="親">
        <div id="div1"></div>
    </div>
    <div id="div2"></div>
</本文>
 
</html>

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

以下もご興味があるかもしれません:
  • JavaScript でドラッグ可能なプログレスバーを実装する
  • JavaScript は水平方向のプログレスバーのドラッグ効果を実装します
  • スライドプログレスバー効果を実現する js
  • JSは円形のプログレスバーのドラッグとスライドを実装します

<<:  廃止された Docker は Podman に置き換えられますか?

>>:  HTML テーブルタグチュートリアル (46): テーブルフッタータグ

推薦する

CSSの4種類の配置の違いの詳細な説明

フロントエンド開発でよく使われるCSSの配置方法は、位置決めには、通常位置決め、相対位置決め、絶対位...

Vue+EChartsは、中国の地図の描画と省の自動回転と強調表示を実現します。

目次成果を達成する完全なコード + 詳細なコメントまとめ成果を達成する完全なコード + 詳細なコメン...

MySQL5.7.27-winx64 バージョン win10 のダウンロードとインストールのチュートリアル図

MySQL 5.7 のインストール私たちは学校で MySQL データベースを学んでいます。先生は私た...

MySQL 8.0 をインストールした後、初めてログインするときにパスワードを変更する問題を解決する

MySQL 8.0.16で初回ログイン時のパスワードを変更する方法を紹介します。 MySQLデータベ...

HTML フォーム_PowerNode Java アカデミー

1. フォーム1. フォームの役割HTML フォームは、さまざまな種類のユーザー入力を受け取り、ユー...

Web スライスとは何ですか?

IE8 の新機能 Web スライス (Web スライス) Microsoft は 3 月 20 日...

CSS3アニメーションとHTML5の新機能の詳しい説明

1. CSS3アニメーション☺CSS3 アニメーションは、JavaScript を介して要素のスタイ...

要素複数フォーム検証の実装

プロジェクトでは、フォーム テストが頻繁に発生します。単一のフォーム テストについては、詳細な紹介が...

Ant Design Blazor コンポーネントライブラリのルーティング再利用マルチタブ機能

最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実...

Html/Css (初心者が最初に読むべきガイド)

1. Web標準の意味を理解する - なぜWeb標準を採用するのか***** コンテンツとスタイル...

Vueはフィルターを使用して日付をフォーマットします

この記事では、フィルターを使用して日付をフォーマットするVueの具体的なコードを参考までに紹介します...

素晴らしいCSS属性MASKの詳しい説明

この記事では、CSS の非常に興味深い属性マスクを紹介します。名前が示すように、マスクはマスクと翻訳...

Vue3のいくつかの利点についての簡単な説明

目次1. ソースコード1.1 モノレポ1.2 タイプスクリプト2. パフォーマンス2.1 ソースコー...

一般的な JavaScript メモリ エラーと解決策

目次1. タイマー監視2. イベント監視3.オブザーバー4. ウィンドウオブジェクト5. DOM参照...

Reactのヒントはフックの依存関係の問題を解消する方法を教えます

reactプロジェクトで非常に一般的なシナリオ: const [watchValue、setWatc...