設定值和更改事件

滑塊提供了一個名為 change 的事件,該事件將在滑鼠完成滑塊手柄拖動或者以程式設計方式更改值後觸發。此函式包含對幻燈片 event 的引用和對滑塊 ui 物件的引用。ui 物件包含要移動的控制代碼的 jQuery 物件和滑塊的值。

一個例子可能是在滑塊的值被另一個元素的事件更新後必須顯示新資訊。讓我們使用 select 元素進行演示,當 select 的值發生變化時,以程式設計方式設定滑塊的值:

HTML

<select id="setting">
  <option value="1">Low</option>
  <option value="2">Medium</option>
  <option value="3">High</option>
</select>

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

<div id="display-value"></div>

JavaScript

$(function() {
  $( "#slider" ).slider({
    min: 0,
    max: 11,
    // This will trigger when the value is programmatically changed
    change: function(event, ui) {
        $( "#display-value" ).text(ui.value);
    }
  });
  
  $( "#setting" ).change(function () {
    switch ($(this).val()) {
      case "1":
        $( "#slider" ).slider( "value", 3 );  // Sets the value of a slider programmatically
        break;
      case "2":
        $( "#slider" ).slider( "value", 7 );  // Sets the value of a slider programmatically
        break;
      case "3":
        $( "#slider" ).slider( "value", 11 ); // Sets the value of a slider programmatically
        break;
    }
  });
});

注意: 在這些情況下,slide 事件不會觸發,並且需要 change 事件。但是,如果元素需要響應滑塊值而在拖動手柄時發生變化,則 slide 事件將是必要的。