检查了关于SO的各种问题,但没有发现任何与我追求的完全匹配......
我正在使用jQuery和iViewer的组合构建一个图像viwer。以下是用于在iviewer中调用不同图像的代码:
$("#chimg").click(function()
{
iv1.iviewer('loadImage', "img/01.jpg");
return false;
});
可以看出,我已按顺序命名图像。现在,使用单个链接调用所有图像,每个图像一个,但理想情况下我也希望能够添加上一个和下一个图像按钮。
由于图像是按顺序命名的,我想知道是否有一种通过在当前图像中添加“1”值来调用序列中的下一个图像的方法?显然,如果有必要,我很乐意更改文件的命名约定。
(免责声明:我是一个快速学习者,但我也是javascript的新手。经过讨论的解决方案真的更受欢迎......)
答案 0 :(得分:3)
这应该可以解决问题......
var i = 0;
$("#chimg").click(function()
{
i++;
iv1.iviewer('loadImage', "img/" + ("0" + i).slice(-2) + ".jpg");
return false;
});
此...
("0" + i).slice(-2)
...将0添加到i中存储的任何值的开头,然后取最后2个字符,这样你就得到了0个填充数字。
答案 1 :(得分:0)
我以前从未使用过iViewer,但是我的头顶上的第一个选项是你能获得img的'src'属性吗?如果你有源,你可以通过正则表达式获得数字
var src = $('#chimg').attr('src');
var m = parseInt(src.match(/\d+/g));
n = m+1;
src = src.replace(m, n);
iv1.iviewer('loadImage', src);
然后你需要做的其他事情。