干杯! 我的前端不是很好,所以,设计师偷看,你知道如何实现类似这样的输入,我应该从什么开始?
问问题
5988 次
2 回答
3
这是如何完成的非常基本的示例。当然,您需要更改样式并根据需要调整元素。不过这个想法应该是可以理解的。
HTML:
<div class="spin"><span>–</span><input value="0" /><span>+</span></div>
CSS:
.spin {
display: inline-block;
}
.spin span {
display: inline-block;
width: 20px;
height: 22px;
text-align: center;
padding-top: 2px;
background: #ff0;
border: 1px solid #aaa;
border-radius: 0 4px 4px 0;
cursor: pointer;
}
.spin span:first-child {
border-radius: 4px 0 0 4px;
}
.spin input {
width: 40px;
height: 20px;
text-align: center;
font-weight: bold;
}
JavaScript:
var spins = document.getElementsByClassName("spin");
for (var i = 0, len = spins.length; i < len; i++) {
var spin = spins[i],
span = spin.getElementsByTagName("span"),
input = spin.getElementsByTagName("input")[0];
input.onchange = function() { input.value = +input.value || 0; };
span[0].onclick = function() { input.value = Math.max(0, input.value - 1); };
span[1].onclick = function() { input.value -= -1; };
}
演示:http: //jsfiddle.net/fPQvK/
于 2013-03-25T13:09:34.677 回答
1
尝试 html5输入类型号:
<input type="number"/>
缺乏火狐支持:(
编辑:或按照 Jakub 的建议创建一个:
<input type="text" id="numberInput" value="1"/>
<input type="button" id="btnIncrement" value="increment" onclick="increment();" />
<input type="button" id="btnDecrement" value="decrement" onclick="decrement();" />
function increment(){
var input = document.getElementById('numberInput');
input.value = parseInt(input.value) + 1;
}
function decrement(){
var input = document.getElementById('numberInput');
input.value = parseInt(input.value) - 1;
}
见小提琴
于 2013-03-25T12:51:57.807 回答