任何简单的方法来检测元素是否在另一个元素之上?
我正在使用CSS3转换来移动元素。(因为)
示例:-所有元素尺寸均为10x10像素
transform : translate(170px, 180px)
<-此元素可以控制移动transform : translate(200px, 200px)
如何检测element#A在某个元素上?
我使用jQuery元素控制器的完整演示: http : //jsfiddle.net/ndZj5/
var over = false;
// do something with `over` to `true` to detect this...
if(!over) {
my.css('transform','translate('+x+'px,'+y+'px)');
}
浏览我的演示,按键盘上的箭头进行控制
您需要使用offset
获取已position
移动对象的并将其与“块”进行比较。
我在演示中设置了“块”,使其在覆盖时变为蓝色。但是您可以做任何您想做的事。
另外,您还在用来创建开销setInterval
。我已将其移至keyup
事件处理程序。
此外,array
如果它们是静态元素,我建议您将“块”的位置存储在中,并在需要时访问它们。
var objTop = my.offset().top,
objLeft = my.offset().left,
objWidth = my.width(),
objHeight = my.height();
$('.fixed').each(function(e){
var self = $(this),
selfLeft = self.offset().left,
selfTop = self.offset().top,
selfWidth = self.width(),
selfHeight = self.height();
self.css('background','black');
if((objLeft + objWidth) > selfLeft && objLeft < (selfLeft + selfWidth) && (objTop + objHeight) > selfTop && objTop < (selfTop + selfHeight)){
self.css('background','blue');
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句