如何增加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