jsは水平および垂直スライダーを実現します

jsは水平および垂直スライダーを実現します

最近、練習プロジェクトをしていたときにスライダーを使う必要があったので、調べてみました。

まず、水平スライダーを見てみましょう。効果は次のとおりです。

コードは次のとおりです。

<html>
 <ヘッド>
  <メタ文字セット="UTF-8">
  <title>水平スライダー</title>
  <スタイル>
   * {
    マージン: 0;
    パディング: 0;
   }
 
   .スクロール{
    マージン: 100px;
    幅: 500ピクセル;
    高さ: 5px;
    背景: #ccc;
    位置: 相対的;
   }
 
   。バー {
    幅: 10px;
    高さ: 20px;
    背景: #369;
    位置: 絶対;
    上: -7px;
    左: 0;
    カーソル: ポインタ;
   }
   p{
    左マージン: 100px;
   }
  </スタイル>
 </head>
 <本文>
  <div class="scroll" id="scroll">
   <div class="bar" id="bar">
   </div>
  </div>
  <p></p>
  <スクリプト>
   //要素を取得します var scroll = document.getElementById('scroll');
   var bar = document.getElementById('bar');
   var ptxt = document.getElementsByTagName('p')[0];
   bar.onmousedown = 関数(イベント) {
    var イベント = イベント || window.event;
    // ページ イベントの X から、最も近い祖先を基準とした現在の位置にある要素を引いた値 var x = event.clientX - this.offsetLeft;
    document.onmousemove = 関数(イベント) {
     var イベント = イベント || window.event;
     var 左 = event.clientX - x;
     (左 < 0)の場合
      左 = 0;
     そうでない場合 (left > scroll.offsetWidth - bar.offsetWidth) {
      左 = scroll.offsetWidth - bar.offsetWidth;
     }
     //スライダーの左の位置を変更する
     bar.style.left = left + "px";
     ptxt.innerHTML = "現在のスライダーの移動率: " + parseInt(left / (scroll.offsetWidth - bar.offsetWidth) * 100) + "%";
     //選択を禁止する window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
    }
 
   }
   //マウスがポップアップしたときは何もしない document.onmouseup = function() {
    ドキュメント.onmousemove = null;
   }
  </スクリプト>
 </本文>
</html>

垂直スライダーの効果は次のとおりです。

コードは次のとおりです。

<html>
 <ヘッド>
  <メタ文字セット="UTF-8">
  <title>垂直スライドバー</title>
  <スタイル>
   * {
    マージン: 0;
    パディング: 0;
   }
   。スクロール{
    マージン: 100px;
    幅: 5px;
    高さ: 320px;
    背景: #ccc;
    位置: 相対的;
   }
 
   。バー {
    幅: 15px;
    高さ: 5px;
    背景: #369;
    位置: 絶対;
    上: 0px;
    左: -5;
    カーソル: ポインタ;
   }
   p{
    左マージン: 100px;
   }
  </スタイル>
 </head>
 <本文>
  <div class="scroll" id="scroll">
   <div class="bar" id="bar">
   </div>
  </div>
  <p></p>
  <スクリプト>
   //要素を取得します var scroll = document.getElementById("scroll");
   var bar = document.getElementById("bar");
   var ptxt = document.getElementsByTagName('p')[0];
   //イベントを追加 bar.onmousedown = function(event) {
    var イベント = イベント || window.event;
    // ページ イベントの Y から、最も近い祖先を基準とした現在の位置にある要素を引いた値 var y = event.clientY - this.offsetTop;
    //ドラッグは下に書き込む必要があります document.onmousemove = function(event) {
     var イベント = イベント || window.event;
     //移動距離を取得します。var top = event.clientY - y;
     (トップ < 0){
      上 = 0;
     }
     そうでない場合 (top > scroll.offsetHeight - bar.offsetHeight){
      上部 = scroll.offsetHeight - bar.offsetHeight;
     }
     //スライダーの上部を変更する
     bar.style.top = top + "px";
     // パーセンテージに応じて現在のスライド距離を取得します。 ptxt.innerHTML = "現在のスライダーの移動パーセンテージ: " + parseInt(top/(scroll.offsetHeight - bar.offsetHeight) * 100) + "%";
     //選択を禁止する window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
    }
   }
   //マウスがポップアップしたときは何もしない document.onmouseup = function() {
    ドキュメント.onmousemove = null; 
   }
   
  </スクリプト>
 </本文>
</html>

ここで移動パーセンテージ表示効果を追加した理由は、主に将来的にバックグラウンドデータに接続する必要がある場合に動的制御の目的を達成するためです。

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

以下もご興味があるかもしれません:
  • Javascript を使用して、スライドバー効果のあるスライドナビゲーション プラグインを開発します。
  • スライダーを作成するためのネイティブ js ドラッグ アンド ドロップ機能のサンプル コード
  • 水平画面と垂直画面を判断し、ブラウザのスライドバーを禁止するjsの例

<<:  MySQLデータベースのnullに関する知識ポイントのまとめ

>>:  Nginx フォワードプロキシとリバースプロキシの違いと原理分析

推薦する

MySQL の一般的な日付比較および計算関数

MySql での時間比較の実装unix_timestamp() unix_timestamp 関数は...

ページ内にマーキーとフラッシュが共存する場合の競合解決

競合の主な症状は、FLASH ボタンがジャンプし続け、不安定になり、Web ページの外観と通常のアク...

react+reduxを使用してカウンター機能を実装すると発生する問題

Redux はシンプルな状態マネージャーです。その歴史をたどることはしません。使用法の観点から見ると...

Linux で複数のファイルの名前を一括で変更する方法

Linux では、通常、ファイルの名前を変更するために mv コマンドを使用します。これは、単一のフ...

Windows での MySQL の詳細なインストール手順と基本的な使用方法

目次1. MySQLをダウンロードする2. MySQLをインストールする3. MySQL の基本的な...

LinuxベースのApacheウェブサイトサービス構成の詳細な説明

オープンソース ソフトウェアである Apache は、最も広く使用されている Web アプリケーショ...

Linux ファイルを分割するための split コマンドの詳細な説明

いくつかの簡単な Linux コマンドを使用すると、ストレージまたは電子メールの添付ファイルのサイズ...

JS クロスドメイン XML - AS URLLoader を使用

最近、機能拡張の要件を受け取りました。ただし、新しい要件で参照されているデータインターフェイスは、X...

MySQL における引用符とバックティックの違いと使い方の詳細な説明

序文そこでこのブログを書きました。このブログでは大物の記事からいくつかの知識も推奨しています。侵害が...

CSS で高さが不明な垂直中央揃えを実装する

この記事では主に、高さが不明な垂直方向の中央揃えを CSS で実装する方法を紹介し、皆さんと共有しま...

JavaScript で charAt() を使用して、最も頻繁に出現する文字とその出現回数をカウントする方法を教えます。

前回は、JavaScript の charAt() メソッドの使い方を紹介しました。今日は、最も多く...

MySQL マルチテーブル結合クエリ例の説明

実際のプロジェクトでは、複数のテーブル間に関係が存在します。 1 つのテーブル内のすべてのデータを取...

Linux サービスでファイアウォールを有効にする 2 つの方法

方法は2つあります: 1. サービス方法ファイアウォールのステータスを確認します。 [root@ce...

MySQL トリガーの基本的な使い方(作成、表示、削除など)の詳細な説明

目次1. MySQLトリガーの作成: 1. MySQLトリガー作成構文: 2. MySQL作成構文の...

アイデアはDockerプラグインを使用してワンクリックの自動デプロイを実現します

目次環境: 1. Dockerはリモート接続アクセスを可能にするidea dockerプラグインをイ...