Javascript JQuery:如何让元素在用户单击后显示?
我不熟悉JQuery。我要做的任务是一个纸牌游戏,两个玩家玩纸牌游戏来赢对方的总和。不管怎么说,当用户输入他们的名字并点击“新游戏”时,我在让游戏区域显示的初始步骤上遇到了麻烦。当页面加载时,我成功地隐藏了游戏,但当我输入名称并单击“新建游戏”时,什么也没发生。我阻止了默认值,并且在方法中也有.show。有人知道怎么做吗?这是我目前的代码:Javascript JQuery:如何让元素在用户单击后显示?,javascript,jquery,Javascript,Jquery,我不熟悉JQuery。我要做的任务是一个纸牌游戏,两个玩家玩纸牌游戏来赢对方的总和。不管怎么说,当用户输入他们的名字并点击“新游戏”时,我在让游戏区域显示的初始步骤上遇到了麻烦。当页面加载时,我成功地隐藏了游戏,但当我输入名称并单击“新建游戏”时,什么也没发生。我阻止了默认值,并且在方法中也有.show。有人知道怎么做吗?这是我目前的代码: $(document).ready(function(){ $(".GameArea").hide(); GameStart(); }); fu
$(document).ready(function(){
$(".GameArea").hide();
GameStart();
});
function GameStart(){
$(".PlayerID").on("button",function(event) {
event.preventDefault();
setupUsers();
turnSetUp();
});
}
function setupUsers(){
Player1Name = document.PlayerName;
Player2Name = document.PlayerName2;
var player1Score = 0;
var player2Score = 0;
var x = [[Player1Name,Player1Score], [Player2Name, Player2Score]];
$(".GameArea").show();
}
function turnSetUp(){
$.post("link.php") //this is a full php address that was provided to me, ignore the link
.done(function (data){
var deck = $.parseJSON(data);
resetListeners();
//deck.Cards[0] is the value to beat
//loop to get the remainder cards from the deck
});
}
function resetListeners(){
$(".GameArea a").on("click", function(fixCard){
//event.preventDefault();
//console.log( $( this ).text() );
});
}
function fixCard(){
}
function calculateCurrentScore(){
}
function EndGame(){
}
这也是html的游戏区
<div class="GameArea">
<span id="firstgroup">
<a href="">
<img src="Desktop Cards/desktopCard0.png" alt="0"/>
</a>
<a href="">
<img src="Desktop Cards/desktopCard1.png" alt="1"/>
</a>
<a href="">
<img src="Desktop Cards/desktopCard2.png" alt="2"/>
</a>
<a href="">
<img src="Desktop Cards/desktopCard3.png" alt="3"/>
</a>
<a href="">
<img src="Desktop Cards/desktopCard4.png" alt="4"/>
</a>
</span>
<span id="secondgroup">
<a href="">
<img src="Desktop Cards/desktopCard0.png" alt="0"/>
</a>
<a href="">
<img src="Desktop Cards/desktopCard1.png" alt="1"/>
</a>
<a href="">
<img src="Desktop Cards/desktopCard2.png" alt="2"/>
</a>
<a href="">
<img src="Desktop Cards/desktopCard3.png" alt="3"/>
</a>
<a href="">
<img src="Desktop Cards/desktopCard4.png" alt="4"/>
</a>
</span>
</div>
我认为您的代码中可能有错误
function GameStart(){
$(".PlayerID").on("button",function(event) {
event.preventDefault();
setupUsers();
turnSetUp();
});
}
当使用jquery on函数时,您所说的“button”实际上并不意味着什么,我们需要做的是在$([button id])中选择按钮并创建一个点击事件。有点像这样
$("[id for area to show]").on("click",function(event) {
//code to display game area goes here.
}
将来我会隔离这个问题,甚至在谷歌浏览器上查看开发者控制台。在这里可以很容易地跟踪错误消息,并且可以让您知道发生了什么错误 我认为您的代码中可能有错误
function GameStart(){
$(".PlayerID").on("button",function(event) {
event.preventDefault();
setupUsers();
turnSetUp();
});
}
当使用jquery on函数时,您所说的“button”实际上并不意味着什么,我们需要做的是在$([button id])中选择按钮并创建一个点击事件。有点像这样
$("[id for area to show]").on("click",function(event) {
//code to display game area goes here.
}
将来我会隔离这个问题,甚至在谷歌浏览器上查看开发者控制台。在这里可以很容易地跟踪错误消息,并且可以让您知道发生了什么错误 第$(“.GameArea”).show()行之前可能有错误;,你应该打开浏览器的开发者工具(按Chome或IE上的F12键)并在控制台选项卡上检查。是的,我已经检查过了,没有错误。调用GameStart函数后,你检查过GameArea的大小和属性吗?您应该确保其宽度、高度大于0且样式为“display:block”,可能在第$(“.GameArea”).show()行之前有错误;,你应该打开浏览器的开发者工具(按Chome或IE上的F12键)并在控制台选项卡上检查。是的,我已经检查过了,没有错误。调用GameStart函数后,你检查过GameArea的大小和属性吗?你应该确保它的宽度、高度大于0,样式为“display:block”。问题是当我改为“click”时,它实际上会在你点击类型栏时显示游戏区域,而不是在你点击“newgame”时显示。你认为我需要为按钮做一个单独的ID吗?哇,老兄,谢谢!这实际上是我在这个网站上真正的第一个答案:)问题是当我把“点击”改为“点击”时,它实际上会在你点击类型栏时显示游戏区域,而不是在你点击“新游戏”时显示。你认为我需要为按钮做一个单独的ID吗?哇,老兄,谢谢!这实际上是我在这个网站上真正的第一个答案:)