我得到的按钮是:当他们按一下时,它们会返回电流并加上那个数字,效果很好,但是按钮有30个 我想在第一个输出上返回30,然后再次单击以再次添加30,因此输出为60,90,120 .......
HTML
<button data-value="1" class="numbs">1</button>
<button type="button" data-value="2" class="numbs">2</button>
<button type="button" data-value="3" class="numbs">3</button>
<button type="button" data-value="4" class="numbs">4</button>
<button type="button" data-value="30" class="numb">+30s</button>
<input type="number" min="1" id="inputOutput">
JS / JQUERY
$(document).ready(function(){
$('.numbs').click(function add(ev){
var values = ev.currentTarget.dataset.value;
console.log(values);
var inputOutput = $('#inputOutput');
var current = inputOutput.val();
inputOutput.val(current + values);
ev.stopPropagation();
});
//for +30s button
var $_30sec = $('.numb');
var num ;
var x = 30;
$_30sec.click(function addthithy(ev){
num = ev.currentTarget.dataset.value;
var total = Math.floor(num)+Math.floor(30);
var inputOutput = $('#inputOutput');
//this prints out 30 only;
var current = inputOutput.val(num);
// console.log(num);
//this prints out 60 only;
inputOutput.val(total);
console.log(total);
});
});
我实际上不知道如何做到这一点,因为每次单击按钮时要增加30。
如果在之前问过这个问题,我很抱歉,但是到处搜索都找不到我需要做的事。答案 0 :(得分:1)
使用以下代码更新代码
$(document).ready(function () {
$('.numbs').click(function add(ev) {
var values = ev.currentTarget.dataset.value;
console.log(values);
var inputOutput = $('#inputOutput');
var current = inputOutput.val();
inputOutput.val(current + values);
ev.stopPropagation();
});
//for +30s button
var $_30sec = $('.numb');
var num;
var x = 30;
$_30sec.click(function addthithy(ev) {
var inputOutput = $('#inputOutput');
var clickCount = $(this).attr('click-count');
inputOutput.val(parseInt(clickCount) * 30);
var newClickCount = parseInt(clickCount) + 1;
$(this).attr('click-count', newClickCount);
});
});
<button data-value="1" class="numbs">1</button>
<button type="button" data-value="2" class="numbs">2</button>
<button type="button" data-value="3" class="numbs">3</button>
<button type="button" data-value="4" class="numbs">4</button>
<button type="button" data-value="30" class="numb" click-count=1>+30s</button>
<input type="number" min="1" id="inputOutput">