2014-01-07 46 views
0

我想开发一个网站,提供基于列表的挑战。这个想法是基于网站http://listchallenges.com,用户可以查看不同类型的列表并选择他们亲自完成的选项(观看电影,去过某个地方等。)帮助创建基于网站提供的列表挑战

这里是我的代码的一部分:

function ($) {   
$('#ig-thumbs').delegate('img','click', function() 
{ 
if(record.indexOf($(this).parent().attr('id')) > -1) 
{ 
$(this).removeClass("counted"); 

if(a < 1) 
{} 
else 
{ 
a=a-1; 

document.getElementById("result").value=a; 
record.pop($(this).parent().attr('id'),record); 
} 
} 
else 
{ 


record.push($(this).parent().attr('id')) ; 

$(this).addClass("counted") 


a=a+1; 
document.getElementById("text").value=a; 

} 

}); 

此代码基本上使用变量a计数器和在所谓的“结果”。文本框显示其值“这种”指的是被点击它获取一个类“计数”当一个个体图像它被点击并且当它被再次点击时类被移除所有这些工作都很好,但是问题出现在变量的动态更新中a一旦图像被点击,一个增量的值增加1但som有时候我必须点击图片两次来减少值。

例如 - 如果它们是8项,并且一旦a的值变为8并且正确显示,我点击它们。但是当我再次点击所有图像时,数值不会变为0,而是降低到1或2,并且必须再次单击第一或第二图像以将该值递减为0.

任何人都可以帮助我在优化代码,因为我已经尝试了很多不同的东西,但我无法做到正确。

+0

'record.pop($(本).parent()ATTR( 'ID'),记录);'看到的是https://开发商。 mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop Pop不接受任何参数 –

回答

0
<div id="result" >0</div> 
<div id = "listImg"> 
    <a class="cls" href="#"><img src="1.jpg"/></a> 
    <a class="cls" href="#"><img src="2.jpg"/></a> 
    <a class="cls" href="#"><img src="3.jpg"/></a> 
    <a class="cls" href="#"><img src="4.jpg"/></a> 
</div> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
$(function() { 
    var count=0; 
    $('.cls').click(function() { 
     if($(this).attr("href")=="#"){ 
      $("#result").html(++count); 
      $(this).attr("href","#ok"); 
     }else{ 
      $("#result").html(--count); 
      $(this).attr("href","#"); 
     } 
    }); 
}); 
</script> 

我希望这段代码可以帮助您:)