jQuery 值范围内的条件语句说明
jQuery conditional statement within value range clarification
将拖放功能与容器一起使用,可拖动项目需要位于容器上或靠近您的容器 IF && statement
。
只是想澄清一下是否可以使用另一种方法更好地满足相同的游戏需求。
理想情况下,是否有真正的方法来编写如下代码:
If(box.left within(20px) of container.left && box.top within(20px) of container.top) { // do something } else {do something else }
否则会有很多代码,我正在努力减少它。这可能吗?
已更新
完整代码:
var letter = document.getElementById('box_' + element.id.substr(element.id.indexOf('_') + 1, 1));
var home = document.getElementById('answerBox_' + element.id.substr(element.id.indexOf('_') + 1, 1));
letter = letter.getBoundingClientRect();
home = home.getBoundingClientRect();
if(Math.abs(letter.left - home.left) <= 20 && Math.abs(letter.top - home.top ) <= 20) {
{
console.log('close enough');
} else {
console.log('Not close enough');
}
使用Math.abs(), element.offsetLeft, and element.offsetTop
例如:
if(Math.abs(box.offsetLeft - container.offsetLeft) <= 20 &&
Math.abs(box.offsetTop - container.offsetTop ) <= 20) {
//do something
}
将拖放功能与容器一起使用,可拖动项目需要位于容器上或靠近您的容器 IF && statement
。
只是想澄清一下是否可以使用另一种方法更好地满足相同的游戏需求。
理想情况下,是否有真正的方法来编写如下代码:
If(box.left within(20px) of container.left && box.top within(20px) of container.top) { // do something } else {do something else }
否则会有很多代码,我正在努力减少它。这可能吗?
已更新
完整代码:
var letter = document.getElementById('box_' + element.id.substr(element.id.indexOf('_') + 1, 1));
var home = document.getElementById('answerBox_' + element.id.substr(element.id.indexOf('_') + 1, 1));
letter = letter.getBoundingClientRect();
home = home.getBoundingClientRect();
if(Math.abs(letter.left - home.left) <= 20 && Math.abs(letter.top - home.top ) <= 20) {
{
console.log('close enough');
} else {
console.log('Not close enough');
}
使用Math.abs(), element.offsetLeft, and element.offsetTop
例如:
if(Math.abs(box.offsetLeft - container.offsetLeft) <= 20 &&
Math.abs(box.offsetTop - container.offsetTop ) <= 20) {
//do something
}