【发布时间】:2015-09-21 19:07:54
【问题描述】:
我正在尝试使用 jquery 浏览图片库,所以我有一个按钮应该将变量递增 1,然后使用它来加载下一张图片。
使用this SO 问题的最佳答案,我认为这将是解决方案:
<div id="pic"></div>
<div id="browse-right">NEXT</div>
<%= image_tag("/1.JPG", id:"1") %>
<%= image_tag("/2.JPG", id:"2") %>
<%= image_tag("/3.JPG", id:"3") %>
$("#1").click(function() {
var x = 1;
$("#pic").html('<img src="/' + x + '.JPG" />');
});
$("#2").click(function() {
var x = 2;
$("#pic").html('<img src="/' + x + '.JPG" />');
});
$("#3").click(function() {
var x = 3;
$("#pic").html('<img src="/' + x + '.JPG" />');
});
//...
$("#browse-right").click(function() {
x = x + 1;
$("#pic").html('<img src="/' + x + '.JPG" />');
});
但它只是重新加载同一张图片,这意味着var x 不会改变。有人知道正确的语法吗?
更新:好的,我想我已经找到了问题所在。 x 在点击图片时设置,显然在功能完成后它不会持续存在。我没有在原始代码中包含该部分,因为我认为这会使整个事情变得更复杂阅读......经验教训。我怎样才能让x在它设置的功能后持续存在?
【问题讨论】:
-
第三行要不要加分号?
-
您已经编辑了很多代码。请在完成后更新问题所在。如果您单步执行 javascript 并观察变量 x,它不会增加吗?它会卡在 1 还是 2?
-
你能否提供这段代码的上下文(也就是代码的其余部分)?
-
@DanielHoffmann-Mitscherling 它卡在 1。
-
什么是#pic元素?
标签: javascript jquery variables increment var