单击以增加数字

时间:2015-03-30 08:43:46

标签: javascript jquery

每次点击时如何增加100?我犯了什么错误?请告诉我谢谢



$(".label").click(function () {
        var number = 100;
        number++;
        $(".shownumber").text(number);

    });

.label{
  width:auto;
  }
.label:hover{
  background:#ccc;
  }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="label">click me</label>
<div class="shownumber">100</div>
&#13;
&#13;
&#13;

6 个答案:

答案 0 :(得分:2)

关于是否要添加1或100,问题不明确,但无论如何,您始终可以直接添加到文本值(转换为整数)。我通常不反对使用全局变量,因为它们不能缩放(即多个元素)。

text允许您提供一个函数,该函数将返回元素的新文本​​:

$(".label").click(function () {
    $(".shownumber").text(function(){return ~~$(this).text() + 1}); // or 100!
});

注意:~~是从字符串到整数的便捷(快速)快捷方式转换。

JSFiddle: https://jsfiddle.net/yuqr1p58/4/

使用这种方法,您可以使用某种形式的所有权安排来支持多个元素。这个使用包含divclosest并支持任意数量的这些控件。这根本不适用于使用全局变量。

JSFiddle: https://jsfiddle.net/yuqr1p58/5/

答案 1 :(得分:1)

您走的是正确的道路,但您必须移动 var number = 100; 超出click功能的范围,如下所示。此外,您必须使用number += 100;来增加100,而不是仅增加1的number++

var number = 100;
$(".label").click(function () {
   number += 100;
   $(".shownumber").text(number);
});

var number = 100;
$(".label").click(function () {
   number += 100;
   $(".shownumber").text(number);
});
.label{
     width:auto;
 }
.label:hover{
     background:#ccc;
 }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="label">click me</label>
<div class="shownumber">100</div>


如果您希望保留number++,可以在number内进行100之前将.text(number*100)乘以var number = 1; $(".label").click(function () { number++; $(".shownumber").text(number*100); });

.label{
     width:auto;
 }
.label:hover{
     background:#ccc;
 }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="label">click me</label>
<div class="shownumber">100</div>
{{1}}

答案 2 :(得分:1)

您只需将var num移动到点击范围之外。

$(document).ready(function(){
  var number = 100;
$(".label").click(function() {

        number++;
        $(".shownumber").text(number);

    });
});

答案 3 :(得分:0)

试试这个。

var number = 100;
    $(".label").click(function () {

                number += 100;
                $(".shownumber").text(number);

            });

https://jsfiddle.net/yuqr1p58/6/

答案 4 :(得分:0)

$(".label").click(function () {
    var number = 100;
    var oriNum= parseInt($(".shownumber").text())+number;
    $(".shownumber").text(oriNum);

});

Demo 1

单行代码

$(".label").click(function () {
    $(".shownumber").text( parseInt($(".shownumber").text())+100);
});

Demo 2

答案 5 :(得分:0)

   var number = 100;

$(“。label”)。click(function(){

    number += 100;
    $(".shownumber").text(number);

});
相关问题