如何使用 jQuery Mobile 建立表單元素主題範圍滑塊?


使用 jQuery Mobile 開發表單元素主題範圍滑塊是一種簡單而有效的方法,可以提升網頁的使用者體驗。此屬性使使用者能夠透過沿自定義軌道平滑移動手柄在指定範圍內選擇一個值。透過新增主題範圍滑塊,網站設計師可以提供直觀的輸入選項,從而增強其表單的便利性和美觀性。

方法 1:使用預設的 jQuery Mobile 範圍滑塊

最簡單的方法是使用預設的 jQuery Mobile 範圍滑塊。它提供了一個基本的、預先設定樣式的範圍滑塊,可以自定義以匹配您的主題。

演算法

步驟 1:匯入必要的元件:jQuery Mobile 庫和 CSS 檔案。

步驟 2:建立一個輸入元素並分配一個唯一的識別符號。

步驟 3:為輸入元素賦予滑塊標識。

步驟 4:透過新增特定主題來自定義滑塊的外觀

步驟 5:定義滑塊的範圍。

步驟 6:設定初始值。

示例

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
  <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
  <div data-role="page">
    <div data-role="header">
      <h1>Themed Range Slider</h1>
    </div>
    <div data-role="main" class="ui-content">
      <orm>
        <label for="slider-1">Slider:</label>
        <input type="range" name="slider-1" id="slider-1" data-track-theme="a" data-theme="b" min="0" max="100" value="50">
      </form>
    </div>
  </div>
</body>
</html>

方法 2:自定義預設範圍滑塊

第二種方法包括自定義預設的 jQuery Mobile 範圍滑塊以實現獨特的外觀。

演算法

步驟 1:遵循方法 1 中的步驟 1-5。

步驟 2:在 HTML 文件的 <head> 中新增一個 <style> 部分。

步驟 3:自定義範圍滑塊的外觀

步驟 4:指定所需的 CSS 屬性,例如背景顏色、邊框、高度、邊距等。

步驟 5:可選地,使用 .uis-slider-handle 選擇器修改範圍滑塊手柄的外觀。

步驟 6:透過調整 CSS 屬性直到達到所需的視覺樣式來測試和完善自定義範圍滑塊。

示例

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
  <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
  <style>
    /* Custom styles for the range slider */
    #slider-2 {
      background-color: black;
      border: 1px solid #ddd;
      height: 10px;
      margin: 15px 0;
    }
    #slider-2 .ui-slider-bg {
      background-color: #007bff;
    }
    #slider-2 .ui-slider-handle {
      background-color: #007bff;
      border-color: #007bff;
    }
  </style>
</head>
<body>
  <div data-role="page">
    <div data-role="header">
      <h1>Customized Range Slider</h1>
    </div>
    <div data-role="main" class="ui-content">
      <form>
        <label for="slider-2">Slider:</label>
        <input type="range" name="slider-2" id="slider-2" data-track-theme="a" data-theme="b" min="0" max="100" value="50">
      </form>
    </div>
  </div>
</body>
</html>

方法 3:使用外部範圍滑塊庫

第三種方法包括使用具有更多高階功能和自定義選項的外部範圍滑塊庫。

演算法

步驟 1:將必要的 jQuery Mobile 庫和 CSS 檔案新增到 HTML 文件。

步驟 2:選擇一個外部範圍滑塊庫,如 Ion.RangeSlider 或 noUiSlider。

步驟 3:在 HTML 中包含庫的 CSS 和 JavaScript 檔案,並指定其 URL。

步驟 4:建立一個具有唯一 ID 和所需屬性的輸入元素。(方法 1 中的步驟 2)

步驟 5:使用 JavaScript 初始化範圍滑塊並提供正確的配置選項(遵循方法 1 中的步驟 3 到 5)。

步驟 6:使用庫 API 和基於 jQuery 的指令碼自定義設計以滿足個性化需求。

示例

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
  <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
  
  <!-- Include the external range slider library -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/css/ion.rangeSlider.min.css" />
  <script src="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.3.1/js/ion.rangeSlider.min.js"></script>
</head>
<body>
  <div data-role="page">
    <div data-role="header">
      <h1>External Range Slider</h1>
    </div>
    <div data-role="main" class="ui-content">
      <!-- Form for the range slider -->
      <form>
        <label for="slider-3">Choose a value:</label>
        <input type="text" name="slider-3" id="slider-3">
      </form>
    </div>
  </div>
  
  <script>
    // Function to initialize the range slider
    function initializeRangeSlider() {
      var slider = $("#slider-3");
      var minValue = 0;
      var maxValue = 100;
      var defaultValue = 50;

      // Set up the options for the range slider
      var options = {
        min: minValue,
        max: maxValue,
        from: defaultValue,
        // Additional customization options can be added here
        // ...
      };

      // Initialize the external range slider
      slider.ionRangeSlider(options);
    }

    // When the page is created, call the function to initialize the range slider
    $(document).on("pagecreate", function() {
      initializeRangeSlider();
    });
  </script>
</body>
</html>

結論

總之,建立主題範圍滑塊的最佳方法可能取決於您的特定專案需求。那些需要簡單和排序的人可以選擇方法 1,因為它提供了輕鬆且預先設定樣式的選項。或者,如果您正在尋找對功能和外觀都有更大的控制權,那麼可以考慮使用方法 2,因為它使使用者能夠更靈活地自定義其滑塊的外觀。

最後,如果您希望透過第三方庫進一步提升滑塊的功能,那麼可以改用方法 3,因為它提供了附加功能,例如 ion.rangeslider 或 noUiSlider 等庫。選擇最符合您首選的自定義級別以及總體設計標準的路徑。

更新於: 2023-08-09

153 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告