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の保存と読み取りの違い

推薦する

Nginx proxy_redirect の使用方法の詳細な説明

今日、Apache の nginx リバース プロキシを実行していたときに、ちょっとした問題に遭遇し...

最新のmysql-5.7.21のインストールと設定方法

1. ダウンロードしたMySQLの圧縮パッケージをインストールディレクトリに解凍します。 2. 新し...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...

InnoDB のアーキテクチャと機能の詳細な説明 (InnoDB ストレージ エンジンの読書メモの要約)

背景スレッド•マスタースレッドコア バックグラウンド スレッドは主に、バッファー プール データをデ...

Navicatを使ってMySQLを操作する方法

目次序文: 1. Navicatの紹介2. シンプルなチュートリアルの共有接続管理ライブラリテーブル...

位置のいくつかの巧妙な応用の詳細な説明:sticky スティッキーポジショニング

背景: position:sticky はスティッキー配置とも呼ばれます。スティッキー配置の要素は、...

アバターと国旗の統合を実現する1行のCSSコード

今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...

要素UIテーブルはドロップダウンフィルタリング機能を実現します

この記事の例では、要素UIテーブルにドロップダウンフィルタリングを実装するための具体的なコードを参考...

XHTML でのハイパーリンク タグの使用に関するチュートリアル

ハイパーリンク。「リンク」とも呼ばれます。ハイパーリンクは、私たちが閲覧する Web ページのいたる...

Centos に PHP7.4 と Nginx をインストールする方法

準備する1. 必要なインストールパッケージをダウンロードするhttps://www.php.net/...

Linux の操作とメンテナンスの基本システムディスク管理チュートリアル

1. ディスクパーティション: 2. fdiskパーティションディスクが2 TB未満の場合はfdis...

JavaScript のクロージャによって発生する問題を回避する

閉鎖による問題を回避するためのletについてオブジェクト指向の考え方を使用して、購入者情報の削除機能...

CSS カウンターを使用して数字の順序付きリストを美しく表示する方法

Web デザインでは、Web サイトに表示されるデータの構造とコンテンツをユーザーが明確に理解できる...

JavaScript の find() メソッドと filter() メソッドの違いのまとめ

目次序文JavaScript find() メソッドJavaScript filter() メソッド...