Javascript jQuery链接故障
我正在尝试将我的tic-tac-toe游戏添加到我的主页,但是由于某些原因jQuery没有做任何事情。这个怎么了?我假设所有这些都是我在html中的链接错误,但我不确定。抱歉代码太长,我想我还是把所有的东西都贴出来,以防问题不是我想的那样。 HTML JavaScriptJavascript jQuery链接故障,javascript,jquery,html,css,jquery-ui,Javascript,Jquery,Html,Css,Jquery Ui,我正在尝试将我的tic-tac-toe游戏添加到我的主页,但是由于某些原因jQuery没有做任何事情。这个怎么了?我假设所有这些都是我在html中的链接错误,但我不确定。抱歉代码太长,我想我还是把所有的东西都贴出来,以防问题不是我想的那样。 HTML JavaScript $(document).ready(function () { //Creates the variables needed to be manipulated later var X = 'X'; v
$(document).ready(function () {
//Creates the variables needed to be manipulated later
var X = 'X';
var O = 'O';
var currentPlayer;
var turnCount = 0;
var xMoves = [];
var oMoves = [];
var cellTracker;
var winAlert;
var winConditions = [
['c1', 'c2', 'c3'],
['c4', 'c5', 'c6'],
['c7', 'c8', 'c9'],
['c1', 'c4', 'c7'],
['c2', 'c5', 'c8'],
['c3', 'c6', 'c9'],
['c1', 'c5', 'c9'],
['c3', 'c5', 'c7']
];
var button = $('button');
/*Set's the current player to X if turnCount is odd
And to O if turnCount is even*/
var setCurrentPlayer = function () {
if (turnCount % 2 === 0) {
currentPlayer = O;
} else {
currentPlayer = X;
}
};
//Pushes cellTracker's value to the curent player's move variable
var storeMoves = function () {
if (currentPlayer === X) {
xMoves.push(cellTracker);
} else if (currentPlayer === O) {
oMoves.push(cellTracker);
}
};
//Compares players moves with the winConditions to determine a winner
var determineWin = function (pMoves) {
for (var i = 0; i < winConditions.length; i++) {
if (winConditions[i].length > pMoves.length) {
continue;
}
for (var j = 0; j < winConditions[i].length; j++) {
winAlert = false;
for (var k = 0; k < pMoves.length; k++) {
if (pMoves[k] === winConditions[i][j]) {
winAlert = true;
}
}
if (!winAlert) break;
}
if (winAlert) {
alert(currentPlayer + " wins!");
break;
}
}
};
//Determines if the game is over
var determineEnd = function () {
if (turnCount === 9 && winAlert === false) {
alert("Tie game!");
}
if (winAlert === true) {
$('td').off('click.mygame', clickHandler);
}
};
//Calls the above functions to simulate the game
var clickHandler = function () {
turnCount += 1;
setCurrentPlayer();
$(this).text(currentPlayer);
cellTracker = $(this).attr('id');
storeMoves();
determineWin(currentPlayer == 'X' ? xMoves : oMoves);
determineEnd();
console.log(turnCount, xMoves, oMoves, winAlert);
};
//Calls the clickHandler function when a cell is clicked
$('td').one('click.mygame', clickHandler);
//Starts a new game when the New Game button is clicked
$('button').bind('click', function () {
$('td').empty();
turnCount = 0;
xMoves = [];
oMoves = [];
winAlert = false;
$('td').off('click');
$('td').one('click.mygame', clickHandler);
});
});
我没有看到您首先包括
jquery
文件。
您将包括jqueryui
两次
改变这个
<script src="//ajax.
我没有看到您首先包括jquery
文件。
您将包括jqueryui
两次
改变这个
<script src="//ajax.
您必须包括Jquery
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
您可能只包含了两次ui,而不是将第一行替换为上面的行
所以你的头代码应该是
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script type='text/javascript' src='script.js'></script>
您必须包括Jquery
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
您可能只包含了两次ui,而不是将第一行替换为上面的行
所以你的头代码应该是
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script type='text/javascript' src='script.js'></script>
有控制台输出吗?异常?在标题中,脚本src
应该是http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.X/jquery-ui.min.js
而不是/…
@AndrewPeacock-如果它在Web服务器上运行,则不需要协议。控制台中是否显示任何内容?另外,您似乎没有使用jQuery UI为什么要包含两次jQuery UI?有控制台输出吗?异常?在标题中,脚本src
应该是http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.X/jquery-ui.min.js
而不是/…
@AndrewPeacock-如果它在Web服务器上运行,则不需要协议。控制台中是否显示任何内容?另外,您似乎没有使用jQuery UI为什么要包含两次jQuery UI?@user2449973。。在jqueryui
之后包含脚本文件。您是否将script.js文件放在最后一个位置??正如@Sushanth建议的那样?这很可能就是原因……如果不是这样,那么可能是javascript中的某个语法错误。谢谢你们,两位,但这也没有解决问题。script.js文件在jquery之后但在jquery ui之前加载。我编辑了我的html最后加载它,但它什么也没做。那么不幸的是,这是一个语法错误,在某处…tic tac toe代码曾经工作过吗??是你写的,还是从什么地方弄来的?我自己写的,昨天测试时还可以用。苏沙斯的回答解决了这个问题。谢谢您的帮助。@user2449973。。在jqueryui
之后包含脚本文件。您是否将script.js文件放在最后一个位置??正如@Sushanth建议的那样?这很可能就是原因……如果不是这样,那么可能是javascript中的某个语法错误。谢谢你们,两位,但这也没有解决问题。script.js文件在jquery之后但在jquery ui之前加载。我编辑了我的html最后加载它,但它什么也没做。那么不幸的是,这是一个语法错误,在某处…tic tac toe代码曾经工作过吗??是你写的,还是从什么地方弄来的?我自己写的,昨天测试时还可以用。苏沙斯的回答解决了这个问题。谢谢你的帮助。这和我在回答中的顺序完全一样……我的怎么不起作用,而你的怎么起作用……有些事fishy@Kylek我修复了调用基本jquery脚本的ui。问题在于缺少http调用。这与我在回答中的顺序完全相同……我的不起作用,而你的不起作用……什么fishy@Kylek我修复了调用基本jquery脚本的ui。问题在于缺少http调用。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script type='text/javascript' src='script.js'></script>