HTML step 屬性
step屬性用於規定資料每一次變化的梯度,或者說資料之間的間隔值。
假設step屬性值為5,那麼兩個資料之間的差是5*N(N是整數)。
通常與min以及max屬性配合使用。
HTML5新增此屬性。
如下型別的input元素具有此屬性:
(1).number
(2).range
(3).date
(4).datetime
(5).datetime-local
(6).month
(7).time
(8).week
本文僅介紹一下step屬性在number與range中的應用,比較典型。
其他型別控制元件中的應用大同小異,並且使用遠不如上面兩個控制元件頻繁。
感興趣的朋友可以自行測試一下,非常簡單。
一.numer數字控制元件中的應用:
關於數字控制元件基本用法參閱HTML input number 數字控制元件一章節。
step屬性用於規定數字每次變化的幅度,有一些細節需要特別注意。
首先看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> </head> <body> <form> <input type="number" step="1.2" min="1"/> <input type="submit" id="bt" value="檢視效果"/> </form> </body> </html>
當在數字控制元件輸入1.2,提交表單驗證不通過,執行效果截圖如下:
上述程式碼規定step屬性值是1.2,但是控制元件值為1.2時,表單提交驗證並不會通過。
修改上面的程式碼,將min屬性刪除,程式碼如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> </head> <body> <form> <input type="number" step="1.2"/> <input type="submit" id="bt" value="檢視效果"/> </form> </body> </html>
刪除min屬性之後,控制元件中輸入數值1.2,表單提交驗證則能夠順利通過。
可見輸入數值的合法性與step和min屬性值密切相關,與max無關。
當然本文所講到的合法性必須在min與max所限定範圍基礎上的合法性。
規則總結如下:
(1).控制元件的數值必須遵循min + step * N的規則,假如min=1,step=1.2,那麼控制元件可允許的合法值可以是1+1.2*0、1+1.2*1、1+1.2*2或者1+1.2*3等,以此類推,當然也可以是負數,1+1.2*-2等等。
(2).如果不規定min值,那麼控制元件允許的數值可以無限小,不過對於驗證規則而言,它等於0。
二.range控制元件中的應用:
原理大同小異,數值合法性計算規則與上述相同。
但是在提交表單的時候,預設不會報錯,並且會將值自動糾正距離錯誤值最近的正確值。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload=function(){ let orange=document.querySelector("#num"); let obt=document.querySelector("#bt"); let odiv=document.querySelector("#show"); obt.onclick=function(){ odiv.innerHTML=orange.value; } } </script> </head> <body> <form action="#"> <input type="range" step="2.1" id="num" min="1" value="5.0" max="10" /> <input type="submit" id="bt" value="檢視效果"/> </form> <div id="show"></div> </body> </html>
上述程式碼中,我們將range的value值設定為5.0,根據計算規則,值很明顯不合法。
但是實際獲取到的值卻是合法的5.2,這說明控制元件將值自動糾正為它最接近的合法值。
程式碼執行效果截圖如下:
關於range的基本用法可以參閱HTML input range一章節。
相關文章
- HTML 屬性HTML
- HTML————4、HTML屬性HTML
- html face屬性HTML
- HTML cellspacing 屬性HTML
- HTML cellpadding 屬性HTMLpadding
- HTML id 屬性HTML
- HTML dir 屬性HTML
- HTML accesskey 屬性HTML
- HTML class 屬性HTML
- HTML headers 屬性HTMLHeader
- HTML colspan 屬性HTML
- HTML rowspan 屬性HTML
- HTML lang 屬性HTML
- HTML hidden屬性HTML
- HTML dropzone 屬性HTML
- HTML draggable 屬性HTML
- HTML contextmenu 屬性HTMLContext
- HTML contenteditable 屬性HTML
- HTML——② HTML 元素、屬性詳解HTML
- HTML標籤屬性HTML
- HTML 屬性順序HTML
- HTML 省略type屬性HTML
- html元素,屬性修改HTML
- HTML CSS 三大屬性④HTMLCSS
- HTML5 novalidate 屬性HTML
- HTML 布林屬性值HTML
- HTML 屬性你都懂了嗎HTML
- [HTML/CSS]colum-gap屬性HTMLCSS
- Step-by-step,打造屬於自己的vue ssrVue
- 安信567+641480+HTML 全域性屬性HTML
- HTML5 Audio & Video 屬性解析HTMLIDE
- HTML id屬性值不能重複HTML
- HTML 標籤與屬性大小寫HTML
- HTML 常用的標籤和屬性HTML
- html中Position屬性值介紹和position屬性四種用法HTML
- html5/css3新增屬性HTMLCSSS3
- jquery 操作HTML data全域性屬性快取的坑jQueryHTML快取
- HTML DOM之document物件的屬性和方法HTML物件