如何增加jQuery变量?
我正在尝试使用jquery浏览图片库,所以我有一个按钮,它应该将变量增加1,然后使用它来加载下一张图片。
使用这个 SO问题的最佳答案,我认为这将是解决方案:
NEXT $("#1").click(function() { var x = 1; $("#pic").html(''); }); $("#2").click(function() { var x = 2; $("#pic").html(''); }); $("#3").click(function() { var x = 3; $("#pic").html(''); }); //... $("#browse-right").click(function() { x = x + 1; $("#pic").html(''); });
但它只是重新加载相同的图片,这意味着var x
不会改变。 有人知道正确的语法吗?
更新:好的,我想我已经找到了问题所在。 单击图片时设置x
,显然在function完成后它不会保持不变。 我没有在原始代码中包含该部分,因为我认为它会使整个事情变得更加复杂……所吸取的教训。 如何在设置函数后让x
继续存在?
如何在设置函数后让x继续存在?
尝试在click
处理程序之外和之前定义x
var x = 1; $("body").on("click", function() { x = x + 1; $(this).html(x) })
body { width: 300px; height: 300px; border: 1px solid purple; }
click
你的代码看起来不错。 这是一个工作版本https://jsfiddle.net/a50nz178/1/
你可以检查几件事:
- 检查图像是否实际上存在
/1.JPG
- 检查图像是不是全部命名为
jpg
全部小写?
如果我不得不猜测,看看你以前的 你已经更新了。 事实certificate我是对的。 你的x
超出了范围。 正确的代码,我敢打赌你的问题是范围 。 范围教程
我愿意打赌,在你的代码中的其他地方你使用类似的东西for(x in ; ...
这是重新分配x
。如果不是这样的话,我仍然打赌任何一个范围,或者图像是src
isn你应该使用你的开发者控制台检查是否有一个坏的图像源。你的img src
开始使用/
将返回到base path
。如果你的图像在图像文件夹中,你需要包括正确的目录路径。
您可以通过将增量变量附加到元素对象来轻松缩短范围,如下所示:
$("#browse-right").click(function(e) { // the following is a simple inline `if` statement // what it says is (this is your element) // if this.i does not exist, create it equal to one, // else count it up once !this['i'] ? this.i=1: this.i++; $("#pic").html(''); // the following simply shows what `i` currently is $('h3').text(this.i); });
p { cursor: pointer; background: #aabb00; padding: 1em .5em; text-align: center; }
Browse Right
IMG HERE