首頁 > web前端 > css教學 > 如何使用 CSS 和 JavaScript 建立自訂範圍滑桿?

如何使用 CSS 和 JavaScript 建立自訂範圍滑桿?

WBOY
發布: 2023-08-25 16:45:07
轉載
889 人瀏覽過

如何使用 CSS 和 JavaScript 创建自定义范围滑块?

範圍滑桿是 HTML 中的輸入字段,接受「範圍」類型。它用於選擇給定特定範圍內的數值,我們可以在輸入欄位內傳遞範圍,如下程式碼片段所示

<input type = “range” min = “0” max = “100”/>
登入後複製

正如您在上面的程式碼片段中看到的,類型等於範圍,我們提供min =“0”max =“100”值,這將是字段的範圍。

自訂範圍滑桿可協助根據需要自訂欄位範圍。

在下面的文章中,讓我們了解如何使用 CSS 和 JavaScript 建立自訂範圍滑桿。

讓我們為每種語言建立單獨的檔案 -

使用 oninput() 事件

oninput 事件是一個 HTML 事件,用於當使用者在輸入欄位中輸入值時立即執行操作。以下是使用此事件的程式碼片段 -

<input type = ‘’ oninput = ‘event name()’>
登入後複製

以下是下面程式碼的解釋 -

HTML 檔案(index.html)

這是 HTML 文件,必須以 .html 副檔名儲存。在此文件中,我們將建立一個輸入範圍字段,這將是我們的自訂範圍滑桿,在輸入字段內我們將設定範圍。並建立一個 span 標記來顯示自訂範圍滑桿值。

以下是HTML程式碼

index.html

#
<!DOCTYPE html>
<html lang="en">
<head>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Custom range Sliders</title>
</head>
<body>
   <h1>Custom Range Sliders with HTML, CSS and JavaScript</h1>
   <div class="sliders">
      <p>Custom Range Slider: </p>
      <input type="range" min = "1" max = "100" oninput="Range()" id = 'slider' title = 'range'><br>
      <span id = 'res'></span>
   </div>
</body>
</html>
登入後複製

CSS檔案(style.css)

這是使用 .css 副檔名建立的 CSS 檔案。使用 CSS,我們將管理 HTML 頁面的樣式。

以下是連接 CSS 檔案與 HTML 檔案的程式碼片段 -

<link rel="stylesheet" href="index.css">
登入後複製

以下是 CSS 程式碼 -

樣式.css

#
span{
   position: relative;
   top: 20px;
   left: 20px;
   font-size: 30px;
   font-weight: 700;
}

p{
   position: relative;
   left: 10px;
   font-size: 20px;
}

input[type='range']
{
   -webkit-appearance: none;
   width: 400px;
   height: 30px;
   background-color: black;
   border-radius: 60px;
}

#slider::-webkit-slider-thumb{
   -webkit-appearance: none;
   width: 50px;
   height: 50px;
   border-radius: 40px;
   appearance: none;
   cursor: pointer;
   background-color: blue;
}
登入後複製

JavaScript 檔案(index.js)

這是必須使用 .js 副檔名儲存的 JavaScript 檔案。在JavaScript中,我們將編寫一個程式來取得輸入範圍值並使用innerHTML屬性將其顯示給使用者。

以下是將 JavaScript 檔案與 HTML 檔案連接起來的程式碼片段 -

<script src = ‘index.html’>
登入後複製

注意 - 您可以只建立一個帶有.html 的HTML 文件,而不是為HTML、CCSJavaScript 建立三個單獨的文件副檔名,並在body 標籤上方的 標籤中寫入CSS 程式碼,在body 標籤結尾或head 標籤內的<script></script> 標籤中寫入JavaScript 程式碼。 < /p>

下面是JavaScript的程式

index.js

#
 function Range() {
   //fetch the input range value through its id
   let range_value = document.getElementById('slider');
   //fetch the span tag through its id
   let result = document.getElementById('res');
   //show the value using innerHTML property
   res.innerHTML = "Range value is: " + range_value.value;
}
登入後複製

範例

執行上述 HTML、CSS 和 JavaScript。

<!DOCTYPE html>
<html lang="en">
<head>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Custom range Sliders</title>
   <style>
      span{
         position: relative;
         top: 20px;
         left: 20px;
         font-size: 30px;
         font-weight: 700;
      }

      p{
         position: relative;
         left: 10px;
         font-size: 20px;
      }

      input[type='range']
      {
         -webkit-appearance: none;
         width: 400px;
         height: 30px;
         background-color: black;
         border-radius: 60px;
      }

      #slider::-webkit-slider-thumb{
         -webkit-appearance: none;
         width: 50px;
         height: 50px;
         border-radius: 40px;
         appearance: none;
         cursor: pointer;
         background-color: blue;
      }
   </style>
</head>
<body>
   <h1>Custom Range Sliders with HTML, CSS and JavaScript</h1>
   <script>
      function Range()
      {
         //fetch the input range value through its id
         let range_value = document.getElementById('slider');
         //fetch the span tag through its id
         let result = document.getElementById('res');
         //show the value using innerHTML property
         res.innerHTML = "Range value is: " + range_value.value;
      }
   </script>
   <div class="sliders">
      <p>Custom Range Slider: </p>
      <input type="range" min = "1" max = "100" oninput="Range()" id = 'slider' title = 'range'><br>
      <span id = 'res'></span>
   </div>
</body>
</html>
登入後複製

如您在上面的程式中所看到的,我們使用 HTML、CSS 和 JavaScript 來建立自訂範圍滑桿。

使用 HTML,我們建立頁面的內容。我們首先建立一個接受範圍作為類型的輸入字段,並在輸入字段內傳遞等於 1 的最小值和等於 100 的最大值,如下所示 -

<input type = ‘range’ min = ‘1’ max = ‘100’ oninput = ‘eventname()’>
登入後複製

稍後,我們建立一個 oninput 事件,如上面的程式碼片段所示,oninput 事件用於計算輸入時的值使用者在輸入欄位中輸入值。然後我們透過其 id 取得輸入範圍值,如下所示 -

let range_value = document.getElementById('slider');
登入後複製

我們取得span標籤並透過innerHTML屬性,我們顯示範圍滑桿值,如下所示 -

res.innerHTML = "Range value is: " + range_value.value;
登入後複製

使用 onclick() 事件

onclick() 事件是一個 HTML 事件,用於在使用者點擊特定按鈕時執行操作。以下是使用 onclick 事件的程式碼片段

<button onclick = ‘event_name()’>
登入後複製

以下是建立自訂範圍滑桿的程式

以下是HTML程式碼

index.html

#
<!DOCTYPE html>
<html lang="en">
<head>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Custom range Sliders</title>
</head>
<body>
   <h2>Custom Range Sliders with HTML, CSS and JavaScript</h2>
   <div class="sliders">
      <p>Custom Range Slider: </p>
      <input type="range" min = "1" max = "100" id = 'slider' title = 'range'><br>
      <button id = 'btn'>Calulate Range</button>
      <span id = 'res'></span>
   </div>
</body>
</html>
登入後複製

以下是CSS程式碼

樣式.css

#
span{ position: relative;
      top: 35px;
      left: 40px;
      font-size: 30px;
      font-weight: 700;
}

p{
   position: relative;
   left: 10px;
   font-size: 20px;
}

input[type='range']
{
   -webkit-appearance: none;
   width: 400px;
   height: 30px;
   background-color: yellow;
   border-radius: 60px;
}

#slider::-webkit-slider-thumb{
   -webkit-appearance: none;
   width: 50px;
   height: 50px;
   border-radius: 40px;
   appearance: none;
   cursor: pointer;
   background-color: red;
}

button{
   width: 150px;
   height: 40px;
   background-color: blue;
   color: white;
   border: none;
   cursor: pointer;
   position: relative;
   left: 20px;
   top: 30px;
   transition: 0.5s;
   border-radius: 5px;
}

button:hover{
   opacity: 0.7;
}
登入後複製

以下是JavaScript程式

index.js

#
let btn = document.getElementById('btn');
btn.onclick = function() {
   //fetch the input range value through its id
   let range_value = document.getElementById('slider');

   //fetch the span tag through its id
   let result = document.getElementById('res');
         
   //show the value using innerHTML property
   res.innerHTML = "Range value is: " + range_value.value;
}
登入後複製

範例

執行上述 HTML、CSS 和 JavaScript。




   
   Custom range Sliders
   

Custom Range Sliders with HTML, CSS and JavaScript

<script> let btn = document.getElementById('btn'); btn.onclick = function() { //fetch the input range value through its id let range_value = document.getElementById('slider'); //fetch the span tag through its id let result = document.getElementById('res'); //show the value using innerHTML property res.innerHTML = &quot;Range value is: &quot; + range_value.value; } </script>

Custom Range Slider:


登入後複製

在上面的程式中,我們使用了HTML、CSS 和JavaScript,在HTML 中我們建立一個接受類型作為範圍的輸入字段,然後建立一個HTML 按鈕(計算範圍),然後我們建立一個span標籤來顯示範圍值。

在 CSS 檔案中,我們管理頁面的樣式。在 JavaScript 中,我們透過 id 取得 HTML 按鈕,然後使用 onclick 事件,如下所示 -

let btn = document.getElementById('btn');
btn.onclick = function(){}
登入後複製

然後在函數內部,當使用者點擊按鈕時,我們取得輸入範圍並使用innerHTML 屬性顯示值。

以上是如何使用 CSS 和 JavaScript 建立自訂範圍滑桿?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板