如何在 JavaScript 中建立滑塊來對映一個值的範圍?


在 JavaScript 中,將一個值的範圍對映到另一個值的範圍可以透過多種方法實現。一種常見的方法是使用滑塊。滑塊允許使用者在一個指定範圍內互動式地選擇一個值,並即時顯示對映後的值。在本文中,我們將探討如何在 JavaScript 中建立滑塊並將 (0-100) 的值範圍對映到 (100-10,000,000) 的範圍。

在 Javascript 中建立滑塊以對映值範圍的步驟

步驟 1:HTML 結構

首先,我們需要為我們的滑塊設定 HTML 結構。開啟你的 HTML 檔案,併為滑塊建立一個容器,以及一個 span 元素來顯示對映後的值。為它們提供適當的 ID 以便於識別。

示例

<!DOCTYPE html>
<html>
<head>
  <title>Slider Range Mapping</title>
  <link rel="stylesheet" type="text/css" href="slider_style.css">
</head>
<body>
  <div id="sliderContainer">
    <input type="range" id="slider" min="0" max="100" value="0">
    <!-- <button id="displayButton">Display Mapped Value</button> -->
    <span id="mappedValue"></span>
  </div>

  <script src="slider_script.js"></script>
</body>
</html>

步驟 2:CSS 樣式

接下來,讓我們新增一些 CSS 樣式,使滑塊在視覺上更具吸引力。您可以自定義樣式以匹配您的偏好或網頁的整體設計。

示例

#sliderContainer {
  width: 300px;
  margin: 20px;
}

#slider {
  width: 100%;
}

#mappedValue {
  display: inline-block;
  margin-top: 10px;
  font-weight: bold;
}

步驟 3:JavaScript 邏輯

現在,讓我們實現 JavaScript 邏輯來對映值的範圍並即時更新顯示的對映值。為 javascript 建立一個單獨的檔案,例如 slider_script.js,並在其中新增以下程式碼。

// Get the necessary elements
const slider = document.getElementById('slider');
const mappedValueSpan = document.getElementById('mappedValue');

// Map function to convert the range
function mapRange(value, inMin, inMax, outMin, outMax) {
   return ((value - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;
}

// Function to update the mapped value
function updateMappedValue() {
   const value = parseInt(slider.value);
   const mappedValue = mapRange(value, 0, 100, 100, 10000000);
   mappedValueSpan.textContent = `Mapped value of ${value} is ${mappedValue}`;
}

// Event listener for slider change
slider.addEventListener('input', updateMappedValue);

步驟 4:測試和互動

現在,您可以儲存 HTML 檔案並在 Web 瀏覽器中開啟它以檢視滑塊的執行情況。當您移動滑塊時,對映後的值將動態更新。例如,如果您將滑塊移動到 50,則顯示的對映值將為“50 的對映值為 5,050,000”。對映值是使用 mapRange 函式計算的,該函式獲取滑塊值(介於 0 和 100 之間)並將其轉換為介於 100 和 10,000,000 之間的值。

輸出


結論

在本文中,我們討論瞭如何在 Javascript 中建立滑塊來對映值的範圍。我們可以根據您的需求進一步自定義樣式、範圍和對映值。這種方法可以擴充套件並適應 JavaScript 應用程式中需要對映值範圍的各種場景。

更新於:2023年7月17日

788 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告