2016-12-02 64 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