HTMLInputElement.stepDown([n])
method decrements the value of a numeric type of
<input>
element by the value of the
step
attribute or up to
n
multiples of the step attribute if a number is passed as the parameter.
The method, when invoked, decrements the
值
by (
step
* n), where n defaults to 1 if not specified, and
step
defaults to the default value for
step
if not specified.
Valid on all numeric, date, and time input types that support the step attribute, including date , month , week , time , datetime-local , number ,和 range .
Given
<input id="myTime" type="time" max="17:00" step="900" value="17:00">
, invoking
myTime.step(3)
will change the value to 16:15, decrementing the time by
3 * 900
, or 45 minutes.
myTime.step()
, with no parameter, would have resulted in
16:45
, as
n
默认为
1
.
<!-- decrements by intervals of 900 seconds (15 minute) --><input type="time" max="17:00" step="900"><!-- decrements by intervals of 7 days (one week) --><input type="date" max="2019-12-25" step="7"><!-- decrements by intervals of 12 months (one year) --><input type="month" max="2019-12" step="12">
The method, when invoked, changes the form control's value by the value given in the
step
attribute, multiplied by the parameter, within the constraints set within the form control. The default value for the parameter, if not is passed, is 1. The method will not cause the value to go below the
min
value set or defy the constraints set by the
step
attribute. A negative value for
n
will increment the value, but will not increment beyond the
max
值。
If the value before invoking the
stepDown()
method is invalid, for example, if it doesn't match the constraints set by the
step
attribute, invoking the
stepDown()
method will return a value that does match the form controls constraints.
If the form control is non time, date, or numeric in nature, and therefore does not support the
step
attribute (see the list of supported input types in the the table above), or if the
step
value is set to
any
,
InvalidStateError
exception is thrown.
HTMLInputElement.stepDown()
值
by (
step
* n), where n defaults to 1 if not specified. Throws an INVALID_STATE_ERR exception:
element.stepDown( [ stepDecrement ] );
stepDecrement
stepDecrement
paremeter is a numeric value. If no parameter is passed,
stepDecrement
默认为 1。
Math.floor(stepDecrement)
was passed. If the value is negative, the value will be incremented instead of decremented.
Click the button in this example to increment the number input type:
<p> <label>Enter a number between 0 and 400 that is divisible by 5: <input type="number" step="5" id="theNumber" min="0" max="400"> </label> </p> <p> <label>Enter how many values of step you would like to increment by or leave it blank: <input type="number" step="1" id="decrementer" min="-2" max="15"> </label> </p> <input type="button" value="Decrement" id="theButton">
/* make the button call the function */
let button = document.getElementById('theButton');
button.addEventListener('click', function() {
stepondown();}
);
function stepondown() {
let input = document.getElementById('theNumber');
let val = document.getElementById('decrementer').value;
if (val) { /* increment with a parameter */
input.stepDown(val);
} else { /* or without a parameter. Try it with 0, 5, -2, etc. */
input.stepDown();
}
}
input:invalid {
border: red solid 3px;
}
Note if you don't pass a parameter to the
stepDown()
method, it defaults to 1. Any other value is a multiplier of the
step
attribute value, which in this case is 5. If we pass 4 as the stepDecrement, the input will stepDown by
4 * 5
,或
20
. If the parameter is 0, the number will not be decremented. The stepDown() method will not allow the input to go out of range, in this case stopping when it reaches 0 and rounding down and floats that are passed as a parameter.
Try setting the step decrementer to
1.2
. What happens when you invoke the method?
Try setting the value to
44
, which is not valid. What happens when you invoke the method?
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
stepDown
|
Chrome Yes | Edge 12 |
Firefox
16
注意事项
Disabled
|
IE ? | Opera Yes | Safari Yes | WebView Android Yes | Chrome Android Yes | Firefox Android Yes | Opera Android Yes | Safari iOS Yes | Samsung Internet Android Yes |
完整支持
兼容性未知
见实现注意事项。
用户必须明确启用此特征。
HTMLInputElement
BeforeUnloadEvent
DOMStringMap
ErrorEvent
GlobalEventHandlers
HTMLAnchorElement
HTMLAreaElement
HTMLAudioElement
HTMLBRElement
HTMLBaseElement
HTMLBaseFontElement
HTMLBodyElement
HTMLButtonElement
HTMLCanvasElement
HTMLContentElement
HTMLDListElement
HTMLDataElement
HTMLDataListElement
HTMLDialogElement
HTMLDivElement
HTMLDocument
HTMLElement
HTMLEmbedElement
HTMLFieldSetElement
HTMLFormControlsCollection
HTMLFormElement
HTMLFrameSetElement
HTMLHRElement
HTMLHeadElement
HTMLHeadingElement
HTMLHtmlElement
HTMLIFrameElement
HTMLImageElement
HTMLIsIndexElement
HTMLKeygenElement
HTMLLIElement
HTMLLabelElement
HTMLLegendElement
HTMLLinkElement
HTMLMapElement
HTMLMediaElement
HTMLMetaElement
HTMLMeterElement
HTMLModElement
HTMLOListElement
HTMLObjectElement
HTMLOptGroupElement
HTMLOptionElement
HTMLOptionsCollection
HTMLOutputElement
HTMLParagraphElement
HTMLParamElement
HTMLPictureElement
HTMLPreElement
HTMLProgressElement
HTMLQuoteElement
HTMLScriptElement
HTMLSelectElement
HTMLShadowElement
HTMLSourceElement
HTMLSpanElement
HTMLStyleElement
HTMLTableCaptionElement
HTMLTableCellElement
HTMLTableColElement
HTMLTableDataCellElement
HTMLTableElement
HTMLTableHeaderCellElement
HTMLTableRowElement
HTMLTableSectionElement
HTMLTemplateElement
HTMLTextAreaElement
HTMLTimeElement
HTMLTitleElement
HTMLTrackElement
HTMLUListElement
HTMLUnknownElement
HTMLVideoElement
HashChangeEvent
历史
ImageData
定位
MessageChannel
MessageEvent
MessagePort
Navigator
NavigatorGeolocation
NavigatorID
NavigatorLanguage
NavigatorOnLine
NavigatorPlugins
PageTransitionEvent
Plugin
PluginArray
PopStateEvent
PortCollection
PromiseRejectionEvent
RadioNodeList
Transferable
ValidityState
Window
WindowBase64
WindowEventHandlers
WindowTimers