【发布时间】:2014-03-07 09:02:25
【问题描述】:
我有一个容器 DIV,里面有绝对定位的子 DIV。可以相对于父容器 DIV 拖放子 DIV。 (使用 jQuery UI)
我需要添加一个功能,如果用户选择了“填充”工具,那么如果他在封闭的 DIV 区域内单击,他可以用所述子 DIV 填充空白区域。
想象一下这样的http://jsfiddle.net/mCuLE/2/
css 。堵塞 { 位置:绝对; 宽度:31px; 高度:31px; 边框:1px 实心#000; 背景:黄色; }
.child-red {
position: absolute;
width: 31px;
height: 31px;
border: 1px solid #000;
background: red;
}
.child-blue {
position: absolute;
width: 15px;
height: 15px;
border: 1px solid #000;
background: blue;
}
.child-green {
position: absolute;
width: 45px;
height: 45px;
border: 1px solid #000;
background: green;
}
html
<div class="container">
<div class="block" style="left: 0; top: 0;"></div>
<div class="block" style="left: 32px; top: 0;"></div>
<div class="block" style="left: 64px; top: 0;"></div>
<div class="block" style="left: 96px; top: 0;"></div>
<div class="block" style="left: 128px; top: 0;"></div>
<div class="block" style="left: 0; top: 32px;"></div>
<div class="block" style="left: 0; top: 64px;"></div>
<div class="block" style="left: 0; top: 96px;"></div>
<div class="block" style="left: 0; top: 128px;"></div>
<div class="block" style="left: 32px; top: 128px;"></div>
<div class="block" style="left: 64px; top: 128px;"></div>
<div class="block" style="left: 96px; top: 128px;"></div>
<div class="block" style="left: 128px; top: 128px;"></div>
<div class="block" style="left: 128px; top: 32px;"></div>
<div class="block" style="left: 128px; top: 64px;"></div>
<div class="block" style="left: 128px; top: 96px;"></div>
<div class="block" style="left: 64px; top: 64px;"></div>
</div>
现在,如果我单击白色空白区域内的某个区域,它应该会填充空的红色 DIV。
还要注意,该方法应该足够灵活,以适应不同维度的子 DIV。 我想如果孩子 DIV 不适合并且“流血”出该区域应该没问题。
【问题讨论】:
标签: javascript jquery html flood-fill