为了账号安全,请及时绑定邮箱和手机立即绑定

需要帮助将最大值和最小值添加到计数器

需要帮助将最大值和最小值添加到计数器

MMTTMM 2022-09-29 16:55:14
我正在尝试制作一个从0开始并在12结束的计数器,我现在拥有的是一个我无法封顶的计数器。所以基本上,我在设置最大值和最小值时遇到了麻烦。这是我的代码:<div class="counter8">  <label id="blank"></label>  <div class="operations">    <a href="javascript:void(0)" onclick="dec_num8()" class="dec opr8">⇦</a>    <span class="count8">0</span>    <a href="javascript:void(0)" onclick="inc_num8()" class="inc opr8">⇨</a>  </div></div><script>var add=document.querySelector(".inc");var sub=document.querySelector(".dec");let counter8=document.querySelector(".count8");function inc_num8(){  var temp8=parseInt(counter8.innerText) >> 0;  counter8.innerText=temp8+1;  if (temp8 > 12) {    counter8.value = 12;  } else {    counter8.value = temp8;  }}function dec_num8(){  var temp8=parseInt(counter8.innerText) >> 0;  counter8.innerText=temp8-1;}</script>增加按钮是我尝试完成这项工作的尝试之一,但失败了。
查看完整描述

2 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

您可以使用“数学.max”和“数学”来限制这些值。


<div class="counter8">

  <label id="blank"></label>

  <div class="operations">

    <a href="javascript:void(0)" onclick="dec_num8()" class="dec opr8">⇦</a>

    <span class="count8">0</span>

    <a href="javascript:void(0)" onclick="inc_num8()" class="inc opr8">⇨</a>

  </div>

</div>


<script>

var add=document.querySelector(".inc");

var sub=document.querySelector(".dec");

let counter8=document.querySelector(".count8");




function inc_num8(){

  var temp8=parseInt(counter8.innerText) >> 0;

  counter8.innerText=Math.min(12,temp8+1);

}

function dec_num8(){

  var temp8=parseInt(counter8.innerText) >> 0;

  counter8.innerText=Math.max(0,temp8-1);

}

</script>

如果你想使用if分支来修复你的代码,你可以这样做:


if (temp8 >= 12) {

  temp8 = 12;

} else {

  temp8++;

}

counter8.innerText=temp8;

或者在一行上:

对于最少的一行,只有翻转版本temp8 = temp8 >= 12 ? temp8 : temp8+1


查看完整回答
反对 回复 2022-09-29
?
暮色呼如

TA贡献1853条经验 获得超9个赞

您并没有真正限制减号按钮上的最小值计数器。而且,只有在检查条件后才能增加它。所以举个例子:


function inc_num8(){

  var temp8=parseInt(counter8.innerText) >> 0;


  if (temp8 >= 12) { // here changed to >=

    counter8.innerText = 12; //also use innerText, not value

  } else {

    counter8.innerText=temp8+1;

  }

}

function dec_num8(){

  var temp8=parseInt(counter8.innerText) >> 0;

  if(temp8 <= 0){ //here changed to <=

  counter8.innerText = 0;

  }else{

  counter8.innerText=temp8-1;

  }

}


查看完整回答
反对 回复 2022-09-29
  • 2 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信