2013-11-01 37 views
0

我使用下面的代碼來獲得一個div內的值(數字),加上一個,但如果值是1,我按下我的按鈕,它給了我01和我想加一,如果是2,再次按我的按鈕它給了我22得到一個數字裏面的div和數加1

我的代碼是:

<div class="mybtn">0</div> 

<script> 

$(function() { 

$(".buttonDown").click(function() 
{ 
var checkDown = $('.buttonDown').text(); 
$('.mybtn').hide("fast"); 
$('.mybtn').text(checkDown+1); 
$('.mybtn').fadeIn("slow"); 
}); 

}); 
</script> 

回答

2
$(function() { 
    $(".mybtn").click(function() { 
     var $this = $(this).stop(true, true).hide("fast"); 
     var checkDown = parseInt($.trim($(this).text()), 10); 
     $this.text(checkDown + 1).fadeIn("slow"); 
    }); 
}); 

演示:Fiddle

+0

什麼是代碼中的數字10? –

+0

'10'是指parseInt函數的基數或基數。 [MDN(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt)。在這種情況下,@Arun指定基數爲10 – jasonscript

1

那是因爲你要添加兩串一起。嘗試使用在你的變量parseInt()方法:

$('.mybtn').text(parseInt(checkDown, 10)+1); 

以獲得最佳效果。

0

使用+checkDown而不是簡單地將checkDown隱式地將字符串轉換爲數字。

var checkDown = $('.buttonDown').text(); 
$('.mybtn').text(+checkDown + 1); 
0

你當前做的是告訴它的值連接爲一個字符串,如「0」 + 1 =字符串「01」,而不是將其轉換爲整數,然後加一個吧。

var checkDown = ParseInt($('.buttonDown').text()); 
    $('.mybtn').text(checkDown+1); 
0

試試這個;

<div class="mybtn">0</div> 



    <script> 

$(function() { 

$(".buttonDown").click(function() 
{ 

var checkDown = parseInt($(this).text(), 10) 
$(this).hide("fast").text(checkDown+1).fadeIn("slow"); 


}); 

}); 
</script>