【发布时间】:2014-02-11 18:48:54
【问题描述】:
我使用一个小脚本来检测两个元素是否碰撞。
function collision($yo, $obstaculo) {
var x1 = $yo.offset().left;
var y1 = $yo.offset().top;
var h1 = $yo.outerHeight(true);
var w1 = $yo.outerWidth(true);
var b1 = y1 + h1;
var r1 = x1 + w1;
var x2 = $obstaculo.offset().left;
var y2 = $obstaculo.offset().top;
var h2 = $obstaculo.outerHeight(true);
var w2 = $obstaculo.outerWidth(true);
var b2 = y2 + h2;
var r2 = x2 + w2;
if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
return true;
}
我的问题是我不知道如何将函数与所有类名为“.obstacle”的 div 一起使用。知道我是这样调用函数的:
collision($('#character'),$('.obstacle'));
编辑:我使用 .each 在 jfiddle 中进行了测试,但似乎不起作用。出于某种原因,只检索 las 元素,它总是返回 true:
http://jsfiddle.net/Osaka_lime/jV9Ls/27/
像往常一样,对不起我糟糕的英语和谢谢!!!!
【问题讨论】:
标签: jquery function class arguments