jsを使用してスライダーをドラッグする効果を実現します

jsを使用してスライダーをドラッグする効果を実現します

この記事では、jsでスライダーをドラッグする方法の具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

スライダーのドラッグを実現するには、まずスライダーがドラッグできることを分析し、ページ内のスライダーの座標を変更する必要があります。次に、位置指定を使用して要素の上部左側を取得し、値を割り当てます。次のステップはイベントを準備することです。マウスのドラッグなので、 mousedown、mousemove、mouseup の 3 つのイベントが必要です。mousedownイベントを通じてスライダーが選択され、 mousemoveイベントを通じてスライダーがドラッグされます。スライダーをドラッグすると、表示されているウィンドウ内のマウスの座標が取得され、スライダーの上部左側に割り当てられます。

具体的なコード実装

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル>
        * {
            マージン: 0;
            パディング: 0;
            ボックスのサイズ: 境界線ボックス;
        }

        div {
            幅: 60ピクセル;
            高さ: 60px;
            背景色: コーラル;
            境界線の半径: 20%;
            位置: 絶対;
            境界線: 6px 実線スカイブルー;
            左: 0;
            上: 0;
        }
    </スタイル>
</head>

<本文>
    <div></div>
    <スクリプト>
        div = document.querySelector('div') とします。
        x, yとします
        fn = 関数 (e) {
            // コンソール.log('hhhhhhhh')
            div.style.left = e.clientX - x + 'px'
            div.style.top = e.clientY - y + 'px'
            (e.clientX - x < 30) の場合 {
                div.style.left = 0
            }
            (e.clientY - y < 30) の場合 {
                div.style.top = 0
            }
            if (e.clientX - x > document.documentElement.clientWidth - div.offsetWidth - 30) {
                div.style.left = document.documentElement.clientWidth - div.offsetWidth + 'px'
            }
            if (e.clientY - y > document.documentElement.clientHeight - div.offsetHeight - 30) {
                div.style.top = document.documentElement.clientHeight - div.offsetHeight + 'px'
            }
        }
        div.addEventListener('mousedown', 関数(e) {
            x = e.offsetX
            y = e.offsetY
            document.addEventListener('mousemove', fn)
        })
        div.addEventListener('mouseup', 関数() {
            document.removeEventListener('mousemove', fn)
        })
    </スクリプト>
</本文>

</html>

走る

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

以下もご興味があるかもしれません:
  • JavaScript でドラッグ スライダー パズルの検証機能を実装します (html5、canvas)
  • js スライダーをドラッグして、水の波紋効果のサンプルコードをクリックします
  • Vue はドラッグ スライダー検証機能を実装します (バックグラウンド検証手順のない CSS + JS のみ)
  • JavaScript ベースのドラッグスライダー効果の実装
  • JSコンポーネントによるドラッグスライダー検証機能の実装(コード共有)
  • スライダーをドラッグして画像サイズを制御するjsメソッド
  • ネイティブ JS カプセル化ドラッグ検証スライダー実装コード例
  • jsはPCとモバイル端末に対応したスライダードラッグ選択デジタルエフェクトを実現します
  • JSはマウスクリックに反応して2つのスライダー間のドラッグ効果を実現します

<<:  Docker と Intellij IDEA の融合により、Java 開発の生産性が 10 倍向上

>>:  MySQL CHARとVARCHARの保存と読み取りの違い

推薦する

Pure CSS3はdivの出入りを順番に実現します

この記事は主に、純粋な CSS3 を使用して div が順番に出入りする効果を紹介します。一定の参考...

CSSでフレックス配置を表示する(レイアウトツール)

display: flex レイアウトに関しては、深く理解している人もいますし、私も他の人の作業か...

Web 上の要素を非表示にする方法とその利点と欠点

ソースコードの例: https://codepen.io/shadeed/pen/03caf6b36...

ウェブページが自動的にデュアルコアブラウザの高速モードを呼び出すようにします(Webkit)

コードサンプルヘッドタグにコード行を追加します: XML/HTML コードコンテンツをクリップボード...

HTMLにおける絶対パスと相対パスの違いの分析

図に示すように: 1 つのページには多数のファイルが接続されているため、ファイルを参照するときには、...

Docker 構成コンテナの場所とヒントのまとめ

Docker の使用に関するヒント1. 停止したDockerコンテナをすべてクリーンアップする停止し...

CentOS 8 に Docker をインストールする詳細なチュートリアル

1. 以前のバージョン yum 削除 docker docker-client docker-cli...

JavaScript を使用してハイパーリンクのリダイレクトを防ぐ方法 (複数の書き方)

JavaScript を使用すると、ハイパーリンクがジャンプするのを防ぐことができます。方法は次の...

MySQL 5.6 から 5.7 にアップグレードする際のマスター スレーブ遅延問題のトラブルシューティング

最近、Zabbix データベースを MySQL 5.6 から 5.7 にアップグレードしたときに、マ...

Vue3.0+vite2は動的非同期コンポーネントの遅延読み込みを実装します

目次Viteプロジェクトを作成するコンポーネントの作成Viteプロジェクトを作成するパフォーマンスが...

Docker でローカルにイメージをインポート/保存/読み込み/削除する方法

1. Dockerはローカルイメージをインポートする場合によっては、イメージをローカルまたは別の友人...

nuxt.js 複数の環境変数の設定

目次1. はじめに2. シナリオ3. 環境を整える3.1 環境変数の挿入4. 最後に1. はじめに一...

VMware仮想マシンブリッジによるインターネット相互接続を実現する方法

VMware をインストールして新しい仮想マシンを作成したら、オプション バーの [編集] - [仮...

Linux システムによって報告される tcp_mark_head_lost エラーの処理方法

問題の説明最近、ホストから次のカーネル情報が報告されました。 7月8日 10:47:42 cztes...

16進カラーコード(完全版)

赤とピンク、およびそれらの 16 進コード。 #990033 #CC6699 #FF6699 #FF...