2013-03-25 100 views
2

乾杯!我在前端並不擅長,所以,設計師窺視,你有什麼想法如何實現類似這樣的輸入,我應該從什麼開始?自定義數字輸入

input

+0

尋找一些jquery插件還有很多jquery插件比這個設計更有吸引力 – 2013-03-25 12:55:50

回答

3

這裏是非常基本的例子它是如何做到的。當然你需要改變樣式並根據需要調整元素。但是這個想法應該是可以理解的。

HTML:

<div class="spin"><span>&ndash;</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; }; 
} 

DEMO:http://jsfiddle.net/fPQvK/

+0

首先 - 感謝您的回覆!其次 - 如果我不需要單一輸入,但是這樣的輸入有多少呢? – xamenrax 2013-03-26 11:07:47

1

嘗試HTML5 input type number

<input type="number"/> 

沒啥Firefox支持:(

編輯:或創建一個作爲的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; 
} 

fiddle

+0

謝謝你的回答,但它非常非常非常基本,我更感興趣的是如何管理這些+/-按鈕,如何定製它們? – xamenrax 2013-03-25 12:54:28

+0

@Nikita看到這個jquery插件:http://1stwebmagazine.com/stepper-jquery-number-input-plugin – karaxuna 2013-03-25 12:58:47

+1

這種輸入將非常困難,甚至_impossible_,風格。我建議使用經典的'type =「text」',在** JS **中添加兩個''並將'onClick'事件綁定到(de/in)中。 – 2013-03-25 12:59:41