【发布时间】:2014-01-07 17:02:03
【问题描述】:
我想开发一个提供基于列表的挑战的网站。这个想法基于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 作为计数器,并将其值显示在名为“结果”的文本框中。 “this”是指正在单击的单个图像,单击该图像时会“计数”一个类,再次单击该类时会删除该类。所有这些工作正常,但问题出现在变量 a 的动态更新中。单击图像后,a 的值会增加 1,但有时我必须单击图像两次才能减小值。
例如 - 如果它们是 8 个项目,一旦 a 的值变为 8 并正确显示,我就会单击它们。但是当我再次单击所有图像时,该值不会变为 0,而是降为 1 或 2,我必须再次单击第一个或第二个图像以将值减小为 0。
任何人都可以帮助我优化代码,因为我尝试了许多不同的方法,但我无法做到正确。
【问题讨论】:
-
record.pop($(this).parent().attr('id'),record);见developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… Pop 不接受任何参数
标签: javascript php jquery list dynamic