jQuery UI 实例 – 滑块(Slider)

jQuery UI Slider(滑块)实例

Slider 是 jQuery UI 中用于选择数值或范围的交互组件,常用于音量调节、价格筛选、时间选择、颜色调整等场景。支持单手柄、范围选择(双柄)、垂直方向、步长、动画等。

官方演示地址:https://jqueryui.com/slider/

下面提供几个渐进实例,从基础到高级,代码使用最新 CDN,可直接复制到 HTML 文件测试。

1. 基础单手柄滑块

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>jQuery UI Slider 基础示例</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.13.2/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-3.6.0.min.js"></script>
  <script src="//code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>
</head>
<body>
  <div id="slider"></div>
  <p>当前值: <span id="value">50</span></p>

  <script>
    $(function() {
      $("#slider").slider({
        min: 0,
        max: 100,
        value: 50,
        slide: function(event, ui) {  // 拖动时实时更新
          $("#value").text(ui.value);
        }
      });
    });
  </script>
</body>
</html>

2. 范围选择滑块(双柄)

常用于价格区间筛选。

<div id="range-slider"></div>
<p>范围: <span id="min">200</span> - <span id="max">800</span></p>

<script>
  $("#range-slider").slider({
    range: true,          // 启用范围模式
    min: 0,
    max: 1000,
    values: [200, 800],   // 初始值数组
    slide: function(event, ui) {
      $("#min").text(ui.values[0]);
      $("#max").text(ui.values[1]);
    }
  });
</script>

3. 垂直滑块 + 步长(step)

<div id="vertical-slider" style="height: 200px;"></div>
<p>值: <span id="v-value">30</span></p>

<script>
  $("#vertical-slider").slider({
    orientation: "vertical",  // 垂直方向
    min: 0,
    max: 100,
    value: 30,
    step: 10,                 // 步长为10
    slide: function(event, ui) {
      $("#v-value").text(ui.value);
    }
  });
</script>

4. 多手柄 + 事件监听

支持多个手柄(values 数组长度决定)。

<div id="multi-slider"></div>

<script>
  $("#multi-slider").slider({
    range: true,
    min: 0,
    max: 100,
    values: [20, 40, 70],     // 三个手柄
    create: function() { console.log("创建完成"); },
    start: function() { console.log("开始拖动"); },
    change: function(event, ui) {  // 值变化结束时(包括程序设置)
      console.log("新值:", ui.values);
    }
  });
</script>

小技巧

  • 动态设置值:$("#slider").slider("value", 80);
  • 获取值:$("#slider").slider("value"); 或范围 $("#slider").slider("values");
  • 动画:animate: true
  • 自定义样式:通过 CSS 修改 .ui-slider-handle.ui-slider-range

Slider 常用于表单过滤、音视频控制、颜色选择器(RGB 三滑块)。如果你需要 价格筛选完整示例与输入框同步、或 带刻度标签(需 slider-pips 插件) 的版本,请告诉我更多需求!

文章已创建 4323

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部