デュアルレンジスライダー
最小値と最大値の 2 つのつまみで範囲を選べるデュアルレンジスライダーです。2 本の input type=range を同じトラック上に重ね、 pointer-events:none とつまみ側の個別指定で、それぞれのハンドルだけ操作できるようにしています。
解説
最小値と最大値の 2 つのつまみで範囲を選べるデュアルレンジスライダーです。2 本の input type=range を同じトラック上に重ね、pointer-events:none とつまみ側の個別指定で、それぞれのハンドルだけ操作できるようにしています。JavaScript は両方の値を読み取り、最小が最大を上回ったら入れ替えてから、塗りつぶしバーの left と width を更新し、表示金額を toLocaleString() でカンマ区切りに整形します。
向いている場面
- EC サイトや不動産検索の価格帯フィルター
- 面積・年式・評価などの数値レンジ絞り込み
- ダッシュボードでの期間や閾値の指定
金額のスケールは JS の a*1000 の係数を変えるだけで桁を調整できます。min max 属性を変えれば刻みや上限も自由です。ネイティブの input を土台にしているのでキーボード操作にも対応しますが、つまみが重なったときの操作性を確かめ、色やコントラストを背景に合わせて見やすく整えると安心です。
使用例・適したシーン
- お問い合わせフォーム
- ニュースレター登録
- 資料請求フォーム
- ログイン・新規登録
よくある質問
表示する金額の単位を変えられますか
JavaScript で値に 1000 を掛けてから toLocaleString でカンマ区切りにしています。この係数を変えれば桁を、前後の文字を変えれば通貨記号や単位を調整できます。
つまみの色やサイズは変更できますか
変更できます。CSS のスライダーつまみ部分で幅・高さ・背景色・枠線を指定しているので、その数値や色をブランドに合わせて書き換えてください。