JavaScript增加一个变量
我想通过点击一个链接增加JavaScript中的变量,它的作品第一次,但其后每隔一次,如果我点击它,一旦它会显示3次,然后4,5等等。 控制台的屏幕截图: JavaScript增加一个变量
在蓝色(右)如预期中的数字,没有什么不对的,但你可以在左侧看到,每一行是一个点击。第一个日志很好,但它记录了三次,然后是四次。
这是做这项工作的代码。
$('.here').live('click', function(eve) {
eve.preventDefault();
var curpop = $(this).attr('rel')
++curpop
$('.pop').html(curpop);
console.log(curpop)
})
$(this).attr('rel')
只是一个数字(蓝色,右,中图片)一旦你点击它的目的是增加数量的链接。
感谢您的帮助。
编辑:我已成立的jsfiddle同样的事情,但它似乎在那里工作,和所有的建议,仍然没有对我的项目工作,即使他们应该。
<h4 class='left'>Click
<a class="here" href="#" rel="1">here</a></h4>
<h4 class='right'>
<span class='pop'>
1
</span>
</h4>
这是HTML,现在有多种的这些,但是通过AJAX加载,我猜测,这将有事可做与类的多个实例没有标识将它们分开?
更多修改 正如我怀疑问题是与所述“之类的多个实例,没有识别符将它们分开”,所以我刚制成每一个这样的:
<span id="<?php echo $thereID; ?>_span" class='pop'>
1
</span>
然后
$('#' + thereID + '_span').html(curpop);
感谢所有帮助
需要查看更多的代码,但通常我会看到JS初学者将事件添加到事件中。换句话说,每次链接被点击时,都会添加另一个事件处理程序。
无论如何,这里有一个单击处理程序增加计数器的例子:http://jsfiddle.net/GSuSk/
<a href="#" id="link">GO UP</a>
<p>0</p>
<script>
$('#link').click(function(){
var v=$('p').text();
$('p').text(+(v)+1);
});
</script>
你为什么不尝试这种方法的?看here演示
不确定这个有限的代码量,但如果我没有弄错,我认为一个问题是变量是在现场创建,真的应该初始化外面,以便它只需要抓住它一次,然后从那里增加,而不必每次都获取新值。这是我重新安排的方式。 http://jsfiddle.net/robx/nDbb8/1/
,当然你可以用你将要使用的任何东西替换选择器;) – robx 2011-06-01 04:11:37
<script type="text/javascript">
$(function(){
$('.here li a').click(function(){
var current = parseInt($(this).attr('rel'));
var inc = current + 1;
console.log(inc);
$(this).attr('rel',inc);
});
});
</script>
<div >
<ul class='here'>
<li><a href='#' rel="1">one</a></li>
<li><a href='#' rel="10">two</a></li>
<li><a href='#' rel="37">three</a></li>
<li><a href='#' rel="1">four</a></li>
</ul>
</div>
我不认为你需要在这里直播功能......关键是要使用parseInt函数,因为它是被评价为一个字符串投rel属性的当前值... - )
请向我们展示_all_代码,最好是演示。 – SLaks 2011-06-01 03:00:25
这里不够回答你的问题哥们。 – stefgosselin 2011-06-01 03:05:40
使用'.html()'命令,你是否在使用'.here'类重新创建某个东西,这会导致多次绑定'.live()'方法? – Orbling 2011-06-01 03:05:51