2016-12-02 1 views

Antwort

1

Erste hinzufügen excmin und EXCMAX Attribut Element zum Ziel (in diesem Fall Elemente mit id = "input") auf Werte, die Sie wollen.
Dann diese Funktion aufrufen und übergeben Element dieser Funktion auf Seite laden:

:

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; 
    } 
}; 
} 

Nun, wenn Benutzer einen Wert in diesem Bereich eingeben, wird es in der Nähe von erlaubten Wert ändern, wenn der Benutzer ist Fertig eingegebene Nummer.
So ist dies, wie Skript aussehen wird:

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); 
}); 

Und das ist das Eingangselement:

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

'excmin' und' excmax' sind keine nativen Attribute richtig? Arbeit Geige für alle Interessierten https://jsfiddle.net/ck66nvmv/ – MonteCristo

+0

Richtig, sie sind nicht native Attribute, sie sind in Javascript-Funktion exceptionrange verwendet – Manzik