📜  jquery 滑块移动事件 - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:14.070000             🧑  作者: Mango

JQuery 滑块移动事件 - Javascript

移动滑块是Web开发中常见的需求之一,jQuery库提供了方便易用的滑块组件,并提供了相应的事件来处理滑块移动时的行为。

滑块组件基础

jQuery UI是一个基于jQuery的UI扩展库,提供了一系列Web开发中常用的UI组件。滑块组件就是其中之一。

引入jQuery UI库

要使用滑块组件,首先要引入jQuery和jQuery UI库。

<!-- 引入jQuery库 -->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>

<!-- 引入jQuery UI库 -->
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
创建滑块

要创建一个滑块组件,只需要在HTML中添加一个元素,并调用slider()方法即可。

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

<script>
$(function() {
  $("#slider").slider();
});
</script>
滑块配置

jQuery UI的滑块组件提供了丰富的配置项,可以通过传入一个配置对象来调整滑块的行为和外观。

以下是一些常用的配置项:

  • value:滑块的初始值,默认为0。
  • min:滑块的最小值,默认为0。
  • max:滑块的最大值,默认为100。
  • step:滑块的步长(每次移动的值),默认为1。
  • orientation:滑块的方向,可以是"horizontal""vertical",默认为"horizontal"
  • range:滑块的范围,可以是"min"(只有一个滑块)、"max"(只有一个滑块)、"true"(有两个滑块,表示范围)、"false"(默认,只有一个滑块)。
  • animate:是否启用动画效果,默认为false
  • disabled:是否禁用滑块,默认为false
<div id="slider"></div>

<script>
$(function() {
  $("#slider").slider({
    value: 50,
    min: 0,
    max: 100,
    step: 10,
    orientation: "horizontal",
    range: "false",
    animate: true,
    disabled: false
  });
});
</script>
获取和设置滑块值

要获取滑块的当前值,可以调用slider("value")方法。要设置滑块的值,可以传入一个数字参数调用slider("value", newValue)方法。

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

<script>
$(function() {
  $("#slider").slider();

  // 获取滑块的当前值
  var value = $("#slider").slider("value");
  console.log(value); // 输出0

  // 设置滑块的值
  $("#slider").slider("value", 50);
});
</script>
滑块移动事件

滑块组件自带了一些事件,可以在滑块移动时触发相应的响应。

滑块滑动事件

当滑块被拖动时,会触发slide事件。可以通过监听该事件来获得滑块的当前值。

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

<script>
$(function() {
  $("#slider").slider({
    slide: function(event, ui) {
      console.log(ui.value);
    }
  });
});
</script>
滑块拖动事件

当滑块开始拖动时,会触发start事件。可以通过监听该事件来实现一些初始化操作。

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

<script>
$(function() {
  $("#slider").slider({
    start: function(event, ui) {
      console.log("开始拖动");
    }
  });
});
</script>
滑块停止拖动事件

当滑块停止拖动时,会触发stop事件。可以通过监听该事件来实现一些最终操作。

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

<script>
$(function() {
  $("#slider").slider({
    stop: function(event, ui) {
      console.log("停止拖动");
    }
  });
});
</script>