我现在正在自定义编码图像滑块,我正在为每个滑块图像和缩略图添加data-slideNum
属性,如下所示:
$('.slide').each(function(i) {
$(this).attr('data-slideNum',i);
});
$('.thumbnail').each(function(i) {
$(this).attr('data-slideNum',i);
});
当然这是0-X幻灯片的编号。在滑块下方,我想添加一个标题,显示您所在的数字幻灯片,因此我尝试将1
添加到幻灯片编号变量并滑动总数,以便数字正确无误:
$('.slideNum').html(parseInt(x+1)+' of '+parseInt(slideTotal+1));
第二个parseInt()
工作正常,但第一个是连接而不是解析。
所以我不是2 of 5
而是21 of 5
等等。
有什么想法吗?
答案 0 :(得分:1)
您正在x
和1
上执行字符串连接,然后获取int
值。
基本上你正在做的是:
var x = "2";
x = x + 1;
parseInt(x);
您可以在1
调用返回整数后将x
添加到parseInt
来解决此问题。
$('.slideNum').html(
( parseInt(x, 10) + 1 )
+ ' of '
+ ( parseInt(slideTotal, 10) + 1 )
); // closes .html
此外,提供基数为parseInt
总是一个好主意如果1
是数组的长度,则无需将slideTotal
添加到slideTotal
,您也无需将其转换为int
}。所以:
$('.slideNum').html( ( parseInt(x, 10) + 1 ) + ' of ' + slideTotal);
应该足够了。
答案 1 :(得分:1)
$('.slideNum').html(parseInt(x+1)+' of '+parseInt(slideTotal+1));
是问题
你是parsing( x + 1 )
首先给你一个字符串,因为x是一个字符串。然后你要把那个字符串解析成一个整数......你应该parse(x)
然后加1,你就可以得到它。
应该是
$('.slideNum').html((parseInt(x) + 1) +' of '+parseInt(slideTotal+1));
答案 2 :(得分:1)
首先连接,而不是尝试解析:
parseInt(x+1)
其中 x 可能是一个字符串,你将它与1连接,其中你得到2 + 1 = 21表示为字符串,最后你只是将21解析为一个整数。
你必须首先解析 x ,而不是算术,例如:
parseInt(x) + 1
答案 3 :(得分:1)
尝试使用parseInt(x) + 1
代替parseInt(x + 1)
。连接字符串和数字会导致字符串连接。