[英]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.