Javascript 更改指针事件的问题:由于if语句、嵌套而无 客观的 我正在查看每个位置的.length: .player--forward,.player--defenseman和.player--goalie查看这些球员中有多少人拥有该职业被选中 当用户单击btn--add按钮将该玩家添加到其团队中时,将选择该玩家 一旦一个位置达到可选择的最大数量:两个 转发(pickedF==2)或三名防御人员(pickedD==3)或 一名守门员(pickedG===1),我想让没有职业的球员被选中无法点击“指针事件:无” 更新#1 现在,它似乎计数正确,但由于if语句嵌套,在单击btn add之前,它不会将“指针事件”更改为“无”,我认为一些部分在btn addclick函数中,而它们不需要被调用 scripts.js 函数countPlayers(){ $(“.player”)。单击(函数(){ //选择当前播放机 var player=$(这个); //计算每个位置被点击的玩家数量 var pickedF=$(“.player--forward.is selected”).length; var pickedD=$(“.player--defenseman.is selected”).length; var pickedG=$(“.player--goalie.is selected”).length; //获取上次单击的玩家的名称 playerName=player.find(“.player__name”).text(); //简直就是魔法。 $(“.btn--add”).unbind(“单击”); $(“.btn--add”)。单击(函数(){ //确保名称不匹配 var spanText=$(“.player\uu pick”).eq(0.text(); //将拾取的播放器的不透明度更改为0.5 player.addClass(“已选择”); if(player.hasClass(“player--forward”)){ 如果(spanText!==playerName){ $(“.player\uu pick--forward.is空”).eq(0.html(playerName); $(“.player\uu pick--forward.is empty”).eq(0).removeClass(“is empty”); 如果(选取的f
tk统计数据 加入团队 开除Javascript 更改指针事件的问题:由于if语句、嵌套而无 客观的 我正在查看每个位置的.length: .player--forward,.player--defenseman和.player--goalie查看这些球员中有多少人拥有该职业被选中 当用户单击btn--add按钮将该玩家添加到其团队中时,将选择该玩家 一旦一个位置达到可选择的最大数量:两个 转发(pickedF==2)或三名防御人员(pickedD==3)或 一名守门员(pickedG===1),我想让没有职业的球员被选中无法点击“指针事件:无” 更新#1 现在,它似乎计数正确,但由于if语句嵌套,在单击btn add之前,它不会将“指针事件”更改为“无”,我认为一些部分在btn addclick函数中,而它们不需要被调用 scripts.js 函数countPlayers(){ $(“.player”)。单击(函数(){ //选择当前播放机 var player=$(这个); //计算每个位置被点击的玩家数量 var pickedF=$(“.player--forward.is selected”).length; var pickedD=$(“.player--defenseman.is selected”).length; var pickedG=$(“.player--goalie.is selected”).length; //获取上次单击的玩家的名称 playerName=player.find(“.player__name”).text(); //简直就是魔法。 $(“.btn--add”).unbind(“单击”); $(“.btn--add”)。单击(函数(){ //确保名称不匹配 var spanText=$(“.player\uu pick”).eq(0.text(); //将拾取的播放器的不透明度更改为0.5 player.addClass(“已选择”); if(player.hasClass(“player--forward”)){ 如果(spanText!==playerName){ $(“.player\uu pick--forward.is空”).eq(0.html(playerName); $(“.player\uu pick--forward.is empty”).eq(0).removeClass(“is empty”); 如果(选取的f,javascript,jquery,if-statement,count,onclick,Javascript,Jquery,If Statement,Count,Onclick,tk统计数据 加入团队 开除 鲍勃·普拉格 防守队员 布伦丹·沙纳汉 向前 布雷特·赫尔
鲍勃·普拉格
防守队员
布伦丹·沙纳汉
向前
布雷特·赫尔
function countPlayers(){
$(".player").click(function(){
// Select the current player
var player = $(this);
// Count number of players of each position that have been clicked
var pickedF = $(".player--forward.is-selected").length;
var pickedD = $(".player--defenseman.is-selected").length;
var pickedG = $(".player--goalie.is-selected").length;
// Grab the name of the player last clicked
playerName = player.find(".player__name").text();
// Literally magic.
$(".btn--add").unbind("click");
$(".btn--add").click(function(){
// Ensures names don't match
var spanText = $(".player__pick").eq(0).text();
// Changes the opacity of a picked player to 0.5
player.addClass("is-selected");
if (player.hasClass("player--forward")) {
if (spanText !== playerName) {
$(".player__pick--forward.is-empty").eq(0).html(playerName);
$(".player__pick--forward.is-empty").eq(0).removeClass("is-empty");
if (pickedF < 2) {
pickedF++;
} else if (pickedF === 2) {
$(".player--forward").not(":has(.is-selected)").css("pointer-events", "none");
console.log("Locked forwards");
} else {
$(".player--forward").css("pointer-events", "auto");
}
}
}
if (player.hasClass("player--defenseman")) {
if (spanText !== playerName) {
$(".player__pick--defenseman.is-empty").eq(0).html(playerName);
$(".player__pick--defenseman.is-empty").eq(0).removeClass("is-empty");
// Issue here
if (pickedD < 3) {
pickedD++;
} else if (pickedD === 3) {
$(".player--defenseman").not(":has(.is-selected)").css("pointer-events", "none");
console.log("Locked defensemen");
} else {
$(".player--defenseman").css("pointer-events", "auto");
}
}
}
if (player.hasClass("player--goalie")) {
if (spanText !== playerName) {
$(".player__pick--goalie.is-empty").eq(0).html(playerName);
$(".player__pick--goalie.is-empty").eq(0).removeClass("is-empty");
// Issue here
if (pickedD < 1){
pickedG++;
} else if (pickedG === 1) {
$(".player--goalie").not(":has(.is-selected)").css("pointer-events", "none");
console.log("Locked goalie");
} else {
$(".player--goalie").css("pointer-events", "auto");
}
}
}
console.log(pickedF, pickedD, pickedG);
});
$(".btn--remove").click(function(){
player.removeClass("is-selected");
if (player.hasClass("player--forward")) {
$(".player__pick--forward").eq(0).html("Pick a Forward");
$(".player__pick--forward").eq(0).addClass("is-empty");
}
if (player.hasClass("player--defenseman")) {
$(".player__pick--defenseman").eq(0).html("Pick a Defenseman");
$(".player__pick--defenseman").eq(0).addClass("is-empty");
}
if (player.hasClass("player--goalie")) {
$(".player__pick--goalie").eq(0).html("Pick a Goalie");
$(".player__pick--goalie").eq(0).addClass("is-empty");
}
console.log(pickedF, pickedD, pickedG);
});
});
}
<div class="popup__text">
<p class="popup__position">tk-position</p>
<p class="popup__name">tk-name</p>
<p class="popup__years">tk-years</p>
<p class="popup__description">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sequi ad dicta sunt unde, sed quae nihil inventore voluptates nulla voluptate laudantium nesciunt quo, aspernatur deleniti quod harum, nisi error doloribus.</p>
<div class="popup__stats">
<p>tk-stats</p>
</div>
<div class="buttons">
<button class="btn--add">Add to team</button>
<button class="btn--remove">Remove from team</button>
</div>
</div>
<div class="player player--bobplager player--defenseman" data-id="11">
<div class="player__info animated">
<p class="player__name">Bob Plager</p>
<p class="player__position">Defenseman</p>
</div>
</div>
<div class="player player--shanahan player--forward" data-id="12">
<div class="player__info animated">
<p class="player__name">Brendan Shanahan</p>
<p class="player__position">Forward</p>
</div>
</div>
<div class="player player--hull player--forward" data-id="13">
<div class="player__info animated">
<p class="player__name">Brett Hull</p>
<p class="player__position ">Forward</p>
</div>
</div>
<div class="player player--elliott player--goalie" data-id="14">
<div class="player__info animated">
<p class="player__name">Brian Elliott</p>
<p class="player__position ">Goalie</p>
</div>
</div>
function countPlayers(){
$(".player").click(function(){
// Select the current player
var player = $(this);
// Count number of players of each position that have been clicked
var pickedF = $(".player--forward.is-selected").length;
var pickedD = $(".player--defenseman.is-selected").length;
var pickedG = $(".player--goalie.is-selected").length;
// Grab the name of the player last clicked
playerName = player.find(".player__name").text();
// Literally magic.
$(".btn--add").unbind("click");
$(".btn--add").click(function(){
// Ensures names don't match
var spanText = $(".player__pick").eq(0).text();
// Changes the opacity of a picked player to 0.5
player.addClass("is-selected");
if (player.hasClass("player--forward")) {
if (spanText !== playerName) {
$(".player__pick--forward.is-empty").eq(0).html(playerName);
$(".player__pick--forward.is-empty").eq(0).removeClass("is-empty");
if (pickedF < 2) {
pickedF++;
}
if (pickedF === 2) {
$(".player--forward").not(":has(.is-selected)").css("pointer-events", "none");
console.log("Locked forwards");
} else {
$(".player--forward").css("pointer-events", "auto");
}
}
}
if (player.hasClass("player--defenseman")) {
if (spanText !== playerName) {
$(".player__pick--defenseman.is-empty").eq(0).html(playerName);
$(".player__pick--defenseman.is-empty").eq(0).removeClass("is-empty");
if (pickedD < 3) {
pickedD++;
}
if (pickedD === 3) {
$(".player--defenseman").not(":has(.is-selected)").css("pointer-events", "none");
console.log("Locked defensemen");
} else {
$(".player--defenseman").css("pointer-events", "auto");
}
}
}
if (player.hasClass("player--goalie")) {
if (spanText !== playerName) {
$(".player__pick--goalie.is-empty").eq(0).html(playerName);
$(".player__pick--goalie.is-empty").eq(0).removeClass("is-empty");
if (pickedG < 1){
pickedG++;
}
if (pickedG === 1) {
$(".player--goalie").not(":has(.is-selected)").css("pointer-events", "none");
console.log("Locked goalie");
} else {
$(".player--goalie").css("pointer-events", "auto");
}
}
}
console.log(pickedF, pickedD, pickedG);
});
$(".btn--remove").click(function(){
player.removeClass("is-selected");
if (player.hasClass("player--forward")) {
$(".player__pick--forward").eq(0).html("Pick a Forward");
$(".player__pick--forward").eq(0).addClass("is-empty");
}
if (player.hasClass("player--defenseman")) {
$(".player__pick--defenseman").eq(0).html("Pick a Defenseman");
$(".player__pick--defenseman").eq(0).addClass("is-empty");
}
if (player.hasClass("player--goalie")) {
$(".player__pick--goalie").eq(0).html("Pick a Goalie");
$(".player__pick--goalie").eq(0).addClass("is-empty");
}
console.log(pickedF, pickedD, pickedG);
});
});