我具有单击功能,当用户在我的游戏中按下“玩家”时会发生。我正在尝试编写两个球员之间的替补球员。该功能首先检查看是否已经选择了另一名球员,如果已经选中,则检查看他们是否在替补席上。如果他们坐在替补席上,那么它将存储第二名球员的数据信息。
问题在于存储第一个玩家数据信息。当我警告“ pid”时,它显示为未定义。无论如何,有没有存储pid以便用户下次单击另一个播放器时仍保留在“ pid”下的信息?我意识到'pid'是在函数内声明的,我尝试过先在函数外声明它,但这仍然无法正常工作。
var pid;
$('.player').click(function() {
event.preventDefault();
var start = $(this).data("start");
if ($(".show2")[0]){
// Player has already been selected
if ($(this).children('.show2').length) {
// User has selected same player, toggle off select image and return
$(this).children('.player-select').toggleClass('show2');
return;
}
if(start == 'FirstEleven'){
$(".message-alert").css("display", "block");
$(".message").html('You must substitute a player from the bench');
$(".overlay2").css("opacity", "0.5");
$(".overlay2").css("display", "block");
$(".container2").css("pointer-events", "all");
}
if(start == "Bench"){
var pid2 = $(this).data("id");
var element2 = $(this).data("element");
alert(pid);
alert(pid2);
}
} else {
// First player to be selected
if(start == 'Bench'){
// If player selected is on the bench
$(".message-alert").css("display", "block");
$(".message").html('You must select a player from the starting lineup first');
$(".overlay2").css("opacity", "0.5");
$(".overlay2").css("display", "block");
$(".container2").css("pointer-events", "all");
return;
}
$(this).children('.player-select').toggleClass('show2');
var pid = $(this).data("id");
var element = $(this).data("element");
}
});
您可以在这种用例中使用localstorage。
localStorage.setItem("players1", "deepak")
console.log(localStorage.getItem("players1"))