- function compare(elemA, elemB, gap) {
- var Booleans, elemAPos, elemBPos, elemAShadow_x, elemAShadow_y, elemBShadow_x, elemBShadow_y, intersect_x, intersect_y;
- //元素的位置
- elemAPos = elemA.offset();
- elemBPos = elemB.offset();
- //elemA的投影
- elemAShadow_x = [elemAPos.left, elemAPos.left + elemA.width()];
- elemAShadow_y = [elemAPos.top, elemAPos.top + elemA.height()];
- //elemB的投影
- elemBShadow_x = [elemBPos.left - gap, elemBPos.left + elemB.width() + gap];
- elemBShadow_y = [elemBPos.top - gap, elemBPos.top + elemB.height() + gap];
- //检测是否X轴上相交
- intersect_x = (elemAShadow_x[0] >= elemBShadow_x[0] && elemAShadow_x[0] <= elemBShadow_x[1]) || (elemAShadow_x[1] >= elemBShadow_x[0] && elemAShadow_x[1] <= elemBShadow_x[1]);
- //检测是否Y轴上相交
- intersect_y = (elemAShadow_y[0] >= elemBShadow_y[0] && elemAShadow_y[0] <= elemBShadow_y[1]) || (elemAShadow_y[1] >= elemBShadow_y[0] && elemAShadow_y[1] <= elemBShadow_y[1]);
- Booleans = intersect_x && intersect_y;
- return Booleans
- }
来源: http://www.bubuko.com/infodetail-1857332.html