Point System - localStorage

时间:2011-08-30 20:37:20

标签: javascript jquery html5 system local-storage

我正在创建一个Point System,一旦人们获得足够的积分,他们就可以使用一些积分在我的网站上获得很酷的功能。代码的使用点部分(每次用户获得点数时减少点数)都不起作用。这是我的点系统jQuery:

$(document).ready(function(){
   $('#curren').delay(200).animate({'top' : '-1px'},1500);
if (localStorage.points222){
  localStorage.points222=Number(localStorage.points222) +5;
}
else{
  localStorage.points222=0;
}
function buy5(){
  if (localStorage.points222){
  localStorage.points222=Number(localStorage.points222) -5;
}
else{
  localStorage.points222=0;
}
} 
   $('#point_counter').html(localStorage.points222);

if(Number(localStorage.points222) > 1){
   $('#point_name').html("1");
   $('#take').fadeIn();
}
else{
   $('#take').fadeOut();
} 
if(Number(localStorage.points222) > 500){
   $('#point_name').html("2");
}
if(Number(localStorage.points222) > 1000){
   $('#point_name').html("3");
}

if(Number(localStorage.points222) > 2000){
   $('#point_name').html("4");
}
if(Number(localStorage.points222) > 5000){
   $('#point_name').html("5");
}
if(Number(localStorage.points222) > 10000){
   $('#point_name').html("6");
}
if(Number(localStorage.points222) > 20000){
   $('#point_name').html("7");
}
});

和HTML:

<div id="curren">
  Your Current Level: <b><span id="point_name"></span></b><br>
  Points: <b><span id="point_counter"></span></b>
  <span style="FLOAT:right;cursor:pointer;display:none;" id="take" onclick="buy5()">-5</span>
</div>

如果您需要有关如何设置代码的更多信息,请告诉我们。

1 个答案:

答案 0 :(得分:4)

简答:您永远不会更新显示的积分数量。你错了一条线。

每次用户点击localStorage<span>被调用时,buy5()的值确实会减少5,但是 ..您永远不会更新点的显示值。换句话说,行..

$('#point_counter').html(localStorage.points222);

..应该在 buy5的定义中,现在它是一个支架太远了。它不会在每个buy5()结束时调用,而只是调用一次,作为$(document).ready()的一部分。