为什么在div甚至没有重叠或接触时,碰撞返回true? http://jsfiddle.net/HWfMt/156/
var degree = 0;
var degreeSmall = 0;
var timer=30;
var $spin = $(".gear");
var $spinSmall = $(".gear-small");
var to;
var toSmall;
function collision($div1, $div2) {
var x1 = $div1.offset().left;
var y1 = $div1.offset().top;
var h1 = $div1.outerHeight(true);
var w1 = $div1.outerWidth(true);
var b1 = y1 + h1;
var r1 = x1 + w1;
var x2 = $div2.offset().left;
var y2 = $div2.offset().top;
var h2 = $div2.outerHeight(true);
var w2 = $div2.outerWidth(true);
var b2 = y2 + h2;
var r2 = x2 + w2;
if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
return true;
}
$( document ).ready(function() {
rotate();
});
function rotate() {
degree++;
$spin.css({ 'WebkitTransform': 'rotate(' + degree + 'deg)'});
$spin.css({ '-moz-transform': 'rotate(' + degree + 'deg)'});
to = setTimeout(function() {
rotate();
}, timer);
$('#result').text(collision($('.gear .inner-gear.yellow'), $('.gear-small .inner-gear.yellow')));
}
谢谢