點選按鈕實現文字框數字增加或者減少程式碼例項
HTML5已經提供了這樣的控制元件,但是外觀實在不怎麼美觀,免費的東西通常不夠完美。
關於HTML5提供的控制元件可以參閱<input type="number" >用法簡單介紹一章節。
下面介紹一下如何使用javascript實現此功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .item-amount { width: 110px; height: 30px; overflow: hidden; position: relative; z-index: 1; } .item-amount a { display: block; height: 28px; width: 30px; border: 1px solid #ccc; background: #f0f0f0; text-align: center; text-decoration: none; line-height: 28px; color: #444; position: absolute; top: 0; } .item-amount .minus,.item-amount .no-minus { border-radius: 5px 0 0 5px; left: 0; } .item-amount .plus,.item-amount .no-plus { border-radius: 0 5px 5px 0; right: 0; } .item-amount .no-minus,.item-amount .no-plus { color: #EAEAEA; border-color: #EAEAEA; background-color: #F7F6F6; } .item-amount .minus:hover, .item-amount .plus:hover { border-color: #acacac; background-color: #eaeaea; } .item-amount .no-minus:hover, .item-amount .no-plus:hover { color: #EAEAEA; border-color: #EAEAEA; background-color: #F7F6F6; cursor: default; } .text-amount { width: 46px; height: 26px; line-height: 30px; border-width: 1px 0; border-style: solid; border-color: #ccc; text-align: center; background-color: #fff; position: absolute; z-index: 2; left: 32px; top: 0; font-size:12px; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script> $(document).ready(function () { $(".item-amount a").click(function () { var count = $(this).attr("data"); $("#itemAmount").val(function () { var value = $(this).val(); count == "-" ? value-- : value++; if (value > 1) { $(".item-amount .minus").removeClass("no-minus"); return value; }else if (value = 1) { $(".item-amount .minus").addClass("no-minus"); var value = 1; return value; } }) }); }) </script> </head> <body> <div class="item-amount "> <a href="javascript:void(0);" class="minus no-minus" data="-">-</a> <input type="text" value="1" id="itemAmount" class="text-amount"> <a href="javascript:void(0);" class="plus" data="+">+</a> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).$(document).ready(function () {}),當文件結構完全載入完畢再去執行函式中的程式碼。
(2).$(".item-amount a").click(function () {}),為連結a註冊click事件處理函式。
(3).var count = $(this).attr("data"),獲取連結的data屬性值。
(4).$("#itemAmount").val(function () {}),設定文字框的value屬性值。
(5).var value = $(this).val(),獲取當前文字框value屬性值。
(6).count == "-" ? value-- : value++;,判斷點選的是哪個按鈕,然後決定是進行加運算還是減運算。
(7).if (value > 1) {
$(".item-amount .minus").removeClass("no-minus");
return value;
},如果value值大於1,那麼就移除no-minus樣式類。
(8).else if (value = 1) {
$(".item-amount .minus").addClass("no-minus");
var value = 1;
return value;
},這個很有技巧,通過if後面的括號中的程式碼,順便將文字框的值設定為1。
二.相關閱讀:
(1).attr()可以參閱jQuery attr()一章節。
(2).val()可以參閱jQuery val()一章節。
(3).removeClass()可以參閱jQuery removeClass()一章節。
(4).addClass()可以參閱jQuery addClass()一章節。
相關文章
- 點選按鈕複製文字框文字程式碼例項
- 點選按鈕實現數字增加效果
- js點選按鈕數字加1效果程式碼例項JS
- 點選按鈕顯示或者隱藏元素例項程式碼
- 點選按鈕實現隱藏一個元素程式碼例項
- 點選按鈕拷貝複製元素內文字程式碼例項
- 點選方向鍵實現文字框焦點切換程式碼例項
- 文字框點選清除預設文字例項程式碼
- 點選按鈕複製連結程式碼例項
- js點選文字框選中文字效果程式碼例項JS
- jQuery點選文字框清除內容程式碼例項jQuery
- 限定文字框只能輸入數字例項程式碼
- 文字框輸入數字倒計例項程式碼
- js實現文字框提示程式碼例項JS
- javascript 點選回車相當於點選按鈕程式碼例項JavaScript
- 防止表單提交按鈕重複點選現象程式碼例項
- 點選實現元素的漸隱或者漸現程式碼例項
- 限制文字框只能夠輸入數字程式碼例項
- 點選按鈕設定其背景顏色程式碼例項
- 窗體(文字框,按鈕,單選按鈕,標籤)
- js按鈕點選後需要倒數計時才能可能用程式碼例項JS
- 消除點選連線或者按鈕或者執行onclick事件時出現的邊框事件
- js表單提交後提交按鈕不可點選程式碼例項JS
- 點選刪除按鈕刪除當前行程式碼例項行程
- 點選文字框彈出可檢索下拉選單程式碼例項
- 選中文字框文字觸發事件程式碼例項事件
- js實現的點選複製選中文字程式碼例項JS
- 點選按鈕實現文字放大和縮小功能
- ajax實現的點選按鈕能夠實現數字加1功能
- 如何設定文字框只能夠輸入數字程式碼例項
- 實現密碼框預設文字效果例項程式碼密碼
- 模擬實現文字框游標效果程式碼例項
- 實現文字框輸入內容提示程式碼例項
- 驗證字串是否包含英文字元、數字或者漢字程式碼例項字串字元
- css3實現的開關按鈕程式碼例項CSSS3
- css3實現button按鈕美化效果程式碼例項CSSS3
- 按鈕倒數計時可用效果例項程式碼
- 在文字框輸入關鍵詞可以實現篩選功能程式碼例項