<!DOCTYPE html>
<html>
<body>
<form oninput="var n = parseInt(a.value)+parseInt(b.value); x.value = n < 5 ? 5 : ( n > 195 ? 195 : n);">0
<input type="range" id="a" value="50">100 +
<input type="number" id="b" value="50">=
<output name="x" for="a b"></output>
</form>
</body>
</html>
a ? b : c
これは本質的にネストされた三項演算子を使用しa if b else c
ます。入れ子になっている場合は、次のように考えることができます: a ? b : (c ? d : e)
as a if b ELSE (c if d else e)
the resultはin(c ? d : e)
と同等です。c
a ? b : c
ここで試してみてください
代わりに、あなたはできる
<form oninput="x.value = Math.min(Math.max(5,parseInt(a.value)+parseInt(b.value)),195);"/>
同じ結果が得られますが、異なる方法で、ここで試すことができます
ここで試してみてください:
JSfiddle