字符串中的增量编号。

时间:2015-07-23 15:09:07

标签: javascript jquery

我的页面上有一个简单的图像查看器,可以加载下面的缩略图。单击缩略图时,只需从URL中删除缩略图文件夹即可交换主图像的缩略图链接,如下所示:

$('#scroller img').on("click",function(){
$('#main-img').attr('src',$(this).attr('src').replace('t/', ''));
});

但我也希望人们可以点击左边的一些  右箭头前进或后退一个。

以下是右箭头的代码:

$('#rar').on("click",function(){

 /*$('#main-img').attr('src',$(this).attr('src').replace(/(\d+)/, function(){return arguments[1]*1+1} ));*/

$('#main-img').attr('src',$(this).attr('src').replace(/\d+/, function(val) { return parseInt(val)+1})); 
});

我认为语法可能有误。反正它无法正常工作。您看到的失败尝试也没有被注释掉。

但我真正想做的是在image目录中获取文件计数并在blah / 1.jpg中递增1,直到达到文件计数或递减它,直到它用左箭头达到零。

我的文件名最初是零填充为001.jpg,002.jpg,但我认为这会使事情进一步复杂化,所以我只是取消了填充,除非有人也有一个简单的方法。

简洁无疑是关键所在。我不想通过箍来简单地增加或减少一个该死的数字。

任何帮助都会一如既往地受到赞赏,并感谢您提前的时间;-)

1 个答案:

答案 0 :(得分:1)

试试这个val应该是匿名函数中的第二个参数:

$('#main-img').attr('src',$(this).attr('src').replace(/\d+/, function(_, val) { return (parseInt(val)+1);}));