如何使用jQuery访问属于函数内部另一个函数的对象的属性
How to access property of an object which belongs to another function inside a function using jQuery?
我正在使用jQuery开发Tic-Tac-Toe游戏。我差不多做完了,但还是说到点子上。如何在squareClicked
函数的末尾添加代码以检查是否有赢家?如果有,我想只将bgreen
类分配给平方(td)。
$('table').on('click', squareClicked);
function squareClicked(e) {
var $sqr = $(e.target);
var player = $('.current-player').attr('id');
if (!$sqr.attr('class')) {
$sqr.addClass(player + '-marker');
switchPlayer();
}
}
function getBoard() {
var board = [];
$('td').each(function () {
board.push(this.className[0]);
});
return board;
}
function checkWin() {
var board = getBoard();
// array of possible win sets
var winArray = [
[0, 1, 2], [3, 4, 5], [6, 7, 8],
[0, 3, 6], [1, 4, 7], [2, 5, 8],
[0, 4, 8], [2, 4, 6]];
var winInfo = {
win: false
};
// loop through the possible win sets
for (var i = 0; i < winArray.length; i++) {
// get the marks at the three win locations
a = board[winArray[i][0]];
b = board[winArray[i][1]];
c = board[winArray[i][2]];
// see if the same marker is at each location
if (a && a === b && b === c) {
winInfo.win = true;
winInfo.play = winArray[i];
winInfo.winner = a;
return winInfo;
}
}
return winInfo;
}
JS Fiddle
我在squareClicked
函数中调用了checkWin();
,但它根本不运行。
注意checkWin()返回一个具有3个属性的对象:win、play和winner;将结果分配给一个变量,然后检查获胜的真实性,以确定玩家是否刚刚获胜。
function squareClicked(e) {
var $sqr = $(e.target);
var player = $('.current-player').attr('id');
if (!$sqr.attr('class')) {
$sqr.addClass(player + '-marker');
switchPlayer();
}
var winInfo = checkWin();
if (winInfo.win) {
console.log("You won!");
// do win stuff here
}
}
function squareClicked(e) {
var $sqr = $(e.target);
var player = $('.current-player').attr('id');
if (!$sqr.attr('class')) {
$sqr.addClass(player + '-marker');
switchPlayer();
}
var result = checkWin();
if (result.win){
// do something here ...
}
}
相关文章:
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 在另一个函数中使用变量this
- 在javascript函数中使用php变量
- setTimeout可以与闭包内的函数一起使用吗
- 使用JS函数来使用另一个函数的语法?node.js
- 如何在javascript函数中使用Razor值
- 如何在异步函数中使用javascript对象
- nodejs中匿名函数的使用
- 如何在函数之外使用变量
- 得到"未定义不是函数“;使用显示原型图案时出错
- HTML 按钮点击函数无法使用 jQuery 变量作为参数
- 绑定到 x 可编辑的成功函数未使用正确的参数执行
- 创建要在其他函数中使用的全局变量
- 可以't获取setInterval函数以使用javascript中的this.function_name调用另一
- 在.map函数中使用react道具
- 在javascript函数中使用@Html.Raw
- 如何在指令链接函数中使用从控制器传递的筛选器
- 在函数中使用这个的Javascript
- AngularJS-选择选项并在函数中使用它
- 在Zepto动画函数中使用变量