我正在创建一个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>
如果您需要有关如何设置代码的更多信息,请告诉我们。
答案 0 :(得分:4)
简答:您永远不会更新显示的积分数量。你错了一条线。
每次用户点击localStorage
并<span>
被调用时,buy5()
的值确实会减少5,但是 ..您永远不会更新点的显示值。换句话说,行..
$('#point_counter').html(localStorage.points222);
..应该在 buy5
的定义中,现在它是一个支架太远了。它不会在每个buy5()
结束时调用,而只是调用一次,作为$(document).ready()
的一部分。