我正试图在拖动时循环每个div并根据它们的偏移计算它们是否相交。可拖动div的偏移量是正确计算的,但其他div则记录为一个疯狂的大数(100,000)。我究竟做错了什么?
$(function() {
$(".table").draggable({
drag: function(ev, ui)
{
var offset = $(this).offset();
$(this).attr("id", "currentDrag");
$(".table").not("#currentDrag").each(function() {
var otherOffset = $(this).offset();
if(offset.left + 100 > otherOffset.left)
{
console.log("collision");
console.log("drag Offset: " + offset.left);
console.log("other Offset: " + otherOffset.left + 100);
}
});
}
});
});
答案 0 :(得分:0)
注意所有大数字是如何以100结尾的。这是因为当您向字符串添加数字时,该数字将转换为字符串。随着操作顺序从左到右,您得到:
'other Offset: ' + 11 + 22 = 'other Offset: 1122'
因为11被添加到字符串中,所以22被添加到包含'11'的字符串中。
你想要的是这个:
'other Offset: ' + (otherOffset.left + 100)
这意味着在将数字添加到字符串之前将它们加在一起。