【问题标题】:Point System - localStorage点系统 - localStorage
【发布时间】:2011-08-31 05:49:43
【问题描述】:

我正在创建一个积分系统,一旦人们获得足够的积分,他们就可以使用其中的一些积分在我的网站上获得很酷的功能。代码的使用点部分(每次用户获得点数时都会减少点数)不起作用。这是我的点系统 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>

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

【问题讨论】:

  • 我不相信localStorage.points222 是用于创建和获取本地存储信息的受支持语法。你需要做localStorage.getItem('key')localStorage['key']。另外,您使用的是支持该功能的浏览器吗?
  • @Tejs...你不明白....系统工作正常。只是不是拿分的部分!正确阅读......并注意!
  • The Buying points part of the code is not working. - 这是您发布的内容。或许您可以更详细地描述问题?
  • @Tejs localStorage.keyValueNamelocalStorage["keyValueName"] 一样工作

标签: javascript jquery html system local-storage


【解决方案1】:

简短回答:您永远不会更新显示的点数。你放错了一条线。

每次用户点击&lt;span&gt;buy5() 时,localStorage 中的值确实会减少 5,但是 .. 你永远不会更新显示的点值。换句话说,这条线..

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

.. 应该 buy5 的定义内,而现在它离括号太远了。它不是在每个buy5() 的末尾被调用,而是作为$(document).ready() 的一部分只被调用一次。

【讨论】:

  • 即使我这样做:function buy5(){ if (localStorage.points222){ localStorage.points222=Number(localStorage.points222) -5; } $('#point_counter').html(localStorage.points222); } 它不工作。
猜你喜欢
  • 2014-05-14
  • 1970-01-01
  • 2017-01-13
  • 1970-01-01
  • 2012-03-25
  • 2015-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多