11.強化加減按鈕
如果點選加號,從1點到99這可能有點累,經過考慮之後,我們有了一個方案。 當按鈕點下去的時候,如果半秒還沒有起來,之後就自動加減了。
提出加減函式
因為加減需要在多處使用,所以把他提取出來。
//負責繫結事件
Quantity.prototype.evt = function () {
var _this = this;
_this.addBtn.on('click', function () {
_this.add();
});
_this.cutBtn.on('click', function () {
_this.cut();
});
};
//加
Quantity.prototype.add = function (n) {
var no = this.no + this.tuple;
if (no <= this.tupleMaxbuy) {
this.no = no;
this.numBox.text(this.no);
}
this.btnStyle();
this.msgCtrl();
};
//減
Quantity.prototype.cut = function (n) {
var no = this.no - this.tuple;
if (no >= this.tupleMinbuy) {
this.no = no;
this.numBox.text(this.no);
}
this.btnStyle();
this.msgCtrl();
};
檢視程式碼:http://jsfiddle.net/gs_jquery/7bb1mc7v/
完成自動加減
當滑鼠按下去的時候自動加減,起來的時候取消。
//負責繫結事件
Quantity.prototype.evt = function () {
var _this = this,
timer;
_this.addBtn
.on('click', function () {
_this.add();
})
.on('mousedown', function (event) {
timer = setInterval(function () {
_this.add();
}, 200);
})
.on('mouseup', function (event) {
clearInterval(timer);
});
_this.cutBtn
.on('click', function () {
_this.cut();
})
.on('mousedown', function (event) {
timer = setInterval(function () {
_this.cut();
}, 200);
})
.on('mouseup', function (event) {
clearInterval(timer);
});
};
程式碼:http://jsfiddle.net/gs_jquery/nxvkmbzm/
滑鼠按下去,已經會自動加減了,視乎已經完成了,可是還有問題,使用者只想單擊的時候呢?如果使用者單擊的動作不是那麼快,那就自動加了。
於是就接著改程式碼,我們辦法是一開始的時候用延時。
//負責繫結事件
Quantity.prototype.evt = function () {
var _this = this,
timer,
timerout;
_this.addBtn
.on('click', function () {
_this.add();
})
.on('mousedown', function () {
timerout = setTimeout(function () {
timer = setInterval(function () {
_this.add();
}, 200);
}, 500);
})
.on('mouseup', function () {
clearInterval(timer);
clearTimeout(timerout);
});
_this.cutBtn
.on('click', function () {
_this.cut();
})
.on('mousedown', function () {
timerout = setTimeout(function () {
timer = setInterval(function () {
_this.cut();
}, 200);
}, 500);
})
.on('mouseup', function () {
clearInterval(timer);
clearTimeout(timerout);
});
};
加上了段程式碼之後,已經實現了我們想要的功能了。http://jsfiddle.net/gs_jquery/fb4jczwd/
相關文章
- 原生前端:input標籤 number型別輸入框如何清除上下加減按鈕?前端型別
- JavaScript點選按鈕數字加1效果JavaScript
- 新浪微博加號按鈕動畫實現方案動畫
- 給網站新增新浪微博“加關注”按鈕網站
- 按鈕上面的按鈕 (轉)
- 按鈕
- Chrome將強化“後退”按鈕 打擊後退至廣告頁行為Chrome
- 38 首頁切換研究深度按鈕加陰影效果
- 按鈕禁用
- Bootstrap 按鈕boot
- js點選按鈕數字加1效果程式碼例項JS
- Fiori Elements List Report table 裡的普通按鈕,Global 按鈕 和 Determining 按鈕
- 窗體(文字框,按鈕,單選按鈕,標籤)
- 介面設計中如何增強CTA按鈕召喚力?
- 小程式按鈕
- Flutter Button(按鈕)Flutter
- iOS 按鈕動畫iOS動畫
- 復飛按鈕
- 新增按鈕事件事件
- div按鈕CSSCSS
- UIButton - 按鈕UI
- 點選一個按鈕使其樣式發生變化,再點選另一個按鈕發生同樣變化,但上一個按鈕樣式復原
- golang 時間加減Golang
- java時間加減Java
- 自定義View加減View
- ORACLE時間加減Oracle
- 高精度加減乘
- VBA命令按鈕操作
- vue 封裝按鈕Vue封裝
- HTML input image按鈕HTML
- HTML input image 按鈕HTML
- HTML input button按鈕HTML
- HTML input button 按鈕HTML
- 瞭解下Foundation 按鈕
- HTML input submit 按鈕HTMLMIT
- iOS動畫-按鈕動畫iOS動畫
- 凸出按鈕的TabBartabBar
- 按鈕拖拽移動