Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery |获取定义区域中的div元素_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Javascript Jquery |获取定义区域中的div元素

Javascript Jquery |获取定义区域中的div元素,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,是否有一种简单的方法可以使div元素完全适合定义的区域 例如: <div id="redbox"> RESIZE DIV </div> <div id="grid"> <div id="box1"></div> <div id="box2"></div> <div id="box3"></div> <div id="box4"></div> <

是否有一种简单的方法可以使
div
元素完全适合定义的区域

例如:

<div id="redbox"> RESIZE DIV </div>

<div id="grid">
  <div id="box1"></div>
  <div id="box2"></div>
  <div id="box3"></div>
  <div id="box4"></div>
</div>

调整DIV的大小
我有4个框(灰色),我可以调整
div
(所有框顶部为红色)。调整大小后,我想知道哪些div元素完全适合这个区域


有人知道怎么做吗?
JQUERY
中是否有方法或函数?

我认为还没有完整的解决方案。据了解,这可能是多种多样的

但您可以使用函数来实现这一点


知道可重新调整大小的
div
的绝对位置后,您可以创建坐标图,然后查看
div

下的哪些元素,我认为
withinBox
插件可能有助于您解决此问题()。您可以使用如下代码:

var area = $('#redbox'),
    offset = area.offset(),
    selected = $('#grid div').withinBox(offset.left,
                                        offset.top,
                                        area.width(),
                                        area.height()
                                        );

使用JQuery我要做的是遍历所有要检查的元素,得到它们的
.offset()
值,加上宽度和高度

对于每个元素,我将得到以下四个值是:

X1 (offset().top)
Y1 (offset().left)
X2 (= X1 + width)
Y2 (= Y1 + height)
我将使用这些值来检查以下四点(仍然针对每个要检查的元素)

假设我们对“covering”DIV做了相同的处理(检索它的四个角xd1、yd1、xd2、yd2),我将这样推理:

var area = $('#redbox'),
    offset = area.offset(),
    selected = $('#grid div').withinBox(offset.left,
                                        offset.top,
                                        area.width(),
                                        area.height()
                                        );

如果<强>一个或多个<强>属于我的“覆盖”div,则考虑div“被覆盖”。


编辑:我不知道有这样的插件,我想它的内部机制和我的一样,但我打赌这是一个比我的更简单的解决方案:)

感谢有耐心附加有意义的图形。:)在我看来,这就是我所需要的。我必须弄明白!是的,这正是
withinBox
插件所做的+谢谢你的解释!谢谢你的帮助。如果我不能将现有的插件
用于Inbox
,我将这样计算它!