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): テーブルフッタータグ

推薦する

MySQLの日次統計レポートでは、その日にデータがない場合には0が入力されます。

1. 問題の再現:各日の合計数を日ごとにカウントします。データのない日がある場合、グループ化によっ...

フレックスレイアウトが子要素によって引き伸ばされたときに、コンテンツをコンテナ内に保持する方法

モバイル デバイスでは、フレックス レイアウトが非常に便利です。デバイスの幅に応じてコンテナーの幅を...

mysql5.7.22 ダウンロードプロセス図

1. 公式ウェブサイト www.mysql.com にアクセスし、ダウンロードを選択します。 2. ...

Dockerリンクはコンテナの相互接続を実現します

目次1.1. IP経由のコンテナ間のネットワークアクセス1.2. コンテナ名またはコンテナIDによる...

Linux の高並列性とパフォーマンス最適化の落とし穴の紹介

目次序文Linux アプリケーション実行中に開いているファイルが多すぎる問題の分析と解決Linux ...

ウェブページ内でウェブテーブルやdivレイヤーが引き伸ばされる問題の解決策

<br />Web ページをデザインするときには、いつも不快なことに遭遇します。最も一般...

HTML4.0 要素のデフォルトスタイルの配置

コードをコピーコードは次のとおりです。 html、アドレス、引用ブロック、本文、dd、div、 dl...

Linux で rsync を使用する方法

目次1. はじめに2. インストール3. 基本的な使い方3.1、-rパラメータ3.2、-aパラメータ...

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

Vueのシンプルストアの詳しい説明

Vue におけるストアの最も単純な応用はグローバル ストレージです。ここでは、相互にジャンプするため...

VUE のコンパイル スコープとスロット スコープのスロットの問題について

スロットとは何ですか?スロット ディレクティブは v-slot であり、現在 slot と slot...

MySQL の 3 つの浮動小数点型 (float、double、decimal) の違いと概要について簡単に説明します。

各浮動小数点型のストレージ サイズと範囲は、次の表に示されています。タイプサイズ範囲(符号付き)範囲...

Mysql+JavaSwing に基づくスーパーマーケット商品管理システムの設計と実装

目次1. 機能紹介2. キーコード2.1 ホームページの機能2.2 製品情報を追加する2.3 データ...