[英]Use a var from mousedown() in the mouseup() event
因此,对于那些看过我上一个问题的人 ,我可以使用完整的JS和jQuery(或至少是大多数)来构建棋盘。
因此,要让我的作品有效地受到正方形移动量的限制,我需要知道它们的位置。 (开始和结束位置)
我写了下面的代码来记录起始行(整数)和起始列(整数),并在mousedown()
和mouseup()
上都这样做
var piece;
$('div').mousedown(function(e) {
e.preventDefault();
var selectedRow = this.getAttribute("data-row");
var selectedColumn = this.getAttribute("data-column");
console.log(selectedRow, selectedColumn);
piece = $(this).find('.pawn');
})
.mouseup(function() {
var selectedRow = this.getAttribute("data-row");
var selectedColumn = this.getAttribute("data-column");
console.log(selectedRow, selectedColumn);
if (selectedRow === selectedRow++ || selectedColumn === selectedColumn++){
console.log('TRUE :D'); //Wont be true because both selectedRow's will be the same value
}
$(this).append(piece);
});
据我所知,由于两个日志处于不同事件中,因此我无法比较两个值。 (请记住,这对两种语言都是新手,而且还在学习中)。
我的问题是是否有可能收集两个值(开始和结束),然后能够将它们相互比较。
最简单的方法是在全局范围内创建selectedRow_down和selectedColumn_down selectedRow_up和selectedColumn_up。
var selectedRow_down;
var selectedColumn_down;
var selectedRow_up;
var selectedColumn_up;
$('div').mousedown(function(e) {
e.preventDefault();
var selectedRow_down = this.getAttribute("data-row");
var selectedColumn_down = this.getAttribute("data-column");
piece = $(this).find('.pawn');
})
.mouseup(function() {
var selectedRow_up = this.getAttribute("data-row");
var selectedColumn_up = this.getAttribute("data-column");
console.log(selectedRow_up, selectedColumn_up);
$(this).append(piece);
});
然后在执行鼠标事件时引用其值
也可以先制作全局二维数组,以便跟踪棋子,请参见此线程如何创建2d数组。 如何在JavaScript中创建二维数组?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.