2016-12-02 49 views

回答

1

首先添加excmin和excmax屬性,目標元素(與ID =「輸入」這種情況下,元素)到你想要的值。
然後調用這個函數並傳遞元素給這個函數在頁面加載:

function exceptionrange(element) 
{ 
var excmin=parseInt(element.getAttribute("excmin"))-1; 
var excmax=parseInt(element.getAttribute("excmax"))+1; 
element.onchange=function() 
{ 
    if(element.value<excmax&&element.value>excmin) 
    { 
    element.value=Math.round((parseInt(element.value)-excmin)/(excmin-excmax))*(excmin-excmax)+excmin; 
    } 
}; 
} 

現在,每當用戶在此範圍內輸入一個值,它會在用戶將其更改爲附近的允許值完成輸入號碼。
因此,這是腳本將如何看起來像:

function exceptionrange(element) 
{ 
var excmin=parseInt(element.getAttribute("excmin"))-1; 
var excmax=parseInt(element.getAttribute("excmax"))+1; 
element.onchange=function() 
{ 
    if(element.value<excmax&&element.value>excmin) 
    { 
    element.value=Math.round((parseInt(element.value)-excmin)/(excmin-excmax))*(excmin-excmax)+excmin; 
    } 
}; 
} 
window.addEventListener("load",function() 
{ 
var input=document.getElementById("input"); 
exceptionrange(input); 
}); 

這是輸入元素:

<input type="number" id="input" step="1" excmin="-4" excmax="4"/> 
+0

'excmin'和'excmax'不是本機的屬性吧?工作小提琴任何有興趣的人https://jsfiddle.net/ck66nvmv/ – MonteCristo

+0

對,他們不是原生屬性,他們在JavaScript函數exceptionrange中使用 – Manzik