从代码中可以理解,我正在尝试创建一个简单的img库。
我目前面临计算问题;如果您运行执行这些操作的代码段,您将会在控制台日志中看到错误:
$ph_id
似乎不会被新id 有人可以解释一下问题的来源吗? '因为我认为代码写得正确,但显然我错过了一些东西。
[编辑]我将$('#next').click(function ()
和$('#prev').click(function ()
置于$('.venus-div').click(function ()
之外,问题点4和5现已解决< / p>
$(document).ready(function () {
$('.venus-div').click(function () {
$this = $(this);
$ph_id = $this.attr('id');
console.log('Current id: ' + $ph_id);
});
$('#next').click(function () {
$next_id = $ph_id++;
console.log('Next id: ' + $next_id);
});
$('#prev').click(function () {
$prev_id = $ph_id--;
console.log('Prev id: ' + $prev_id);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="venus-div" id="1" data-image="../img/bv.jpg">
<img src="../img/thumb/bv_thumb.jpg" class="venus-thumb">
</div>
<div class="venus-div" id="2" data-image="../img/islamuj.jpg">
<img src="../img/thumb/islamuj_thumb.jpg" class="venus-thumb">
</div>
<div class="venus-div" id="3" data-image="../img/vertical.jpg">
<img src="../img/thumb/vertical_thumb.jpg" class="venus-thumb">
</div>
<div class="venus-div" id="4" data-image="../img/pano.jpg">
<img src="../img/thumb/pano_thumb.jpg" class="venus-thumb">
</div>
<p id="prev">BACK</p>
<p id="next">NEXT</p>
&#13;
答案 0 :(得分:2)
$next_id = $ph_id++;
将$next_id
设置为当前值$ph_id
,然后将$ph_id
增加1。如果您希望首先发生增量,可以将++
放在变量之前,如下所示:
$next_id = ++$ph_id;
这样,$next_id
将等于递增的$ph_id
。
同样适用于--
:
$prev_id = --$ph_id;
答案 1 :(得分:1)
我认为这是因为你创建并绑定每次点击下一个和上一个新点击事件,并且由于这个多重绑定而多次触发。您可以关闭这些事件或将它们绑定在venus-div点击功能之外(使文档中的ph_id,next_id和prev_id全局变量准备就绪。
我无法从移动设备上编写代码,如果您需要我稍后再更新:)