0

目前这为 11。它用于幻灯片放映,默认情况下 var "n" 等于 1

function forward() {
    document.getElementsByClassName("img")[0].setAttribute("class","imgout");
    setTimeout( function() {
        var n1 = document.getElementById("img").getAttribute("data-number");
        var n=n1+1;
        document.getElementById("img").setAttribute("data-number", n);
        document.getElementById("img").setAttribute("src", "images/" + n + ".jpg");
        document.getElementsByClassName("imgout")[0].setAttribute("class","img");
    }, 500)
}
4

6 回答 6

5

使用parseInt()

var n = parseInt(n1, 10) + 1;
于 2013-08-30T17:30:50.917 回答
2

代替:

var n=n1+1;

当 n1 是一个字符串时,因为它来自 DOM,你需要将 n1 转换为一个整数。有很多方法可以做到这一点,实际上您可能应该使用正则表达式来验证 n1 是否包含您首先期望的内容,但话虽如此,您可以尝试以下任何一种方法:

var n=parseInt(n1, 10)+1;
var n=(n1*1)+1;
var n=(+n1)+1;

顺便说一句,用于验证来自 DOM 的输入的正则表达式可能是这样的:

/^-?\d+$/
于 2013-08-30T17:34:21.890 回答
1

使用数字():

var n = Number("1");

FIDDLE

于 2013-08-30T17:33:29.717 回答
0

parseInt - 不错的选择。你也可以做

var n = n-0+1

请记住,你们有不同的类型,“+”将转换为字符串,“-”将转换为数字

于 2013-08-30T17:35:38.653 回答
-1
var n=parseInt(n)+1;

文档

小提琴

于 2013-08-30T17:33:06.910 回答
-1

转换n1为数字,因为它是一个字符串,如~~n1. ~~n1如果你知道你想要一个整数(一个 32 位整数),那么这个表格很好。

第二种方法是使用Number()函数,Number(n1)即将 n1 值转换为字符串。

于 2013-08-30T17:35:42.537 回答