【发布时间】:2013-11-13 10:26:22
【问题描述】:
我正在构建一个图表,显示随时间发生的事件。我的每个事件都是一个使用<div> 创建的水平条,如下所示:
<div class="aaaa" style="margin-left: 0.00%; width:100.00%;">aaaa</div>
<div class="aaaa" style="margin-left: 5.00%; width: 20.00%;">bbbb</div>
<div class="aaaa" style="margin-left:25.00%; width: 50.00%;">cccc</div>
<div class="aaaa" style="margin-left:55.00%; width: 45.00%;">dddd</div>
在这张图的顶部,我有一个“尺子”,它是一个可拖动且可调整大小的<div>
<div id="draggable2" class="draggable ui-widget-content">
<p>Ruler</p>
</div>
我的意图是水平拖动这个标尺并使用它来选择我的图表中位于标尺下方的所有条形图。选择条形后,背景颜色应改变。
到目前为止,我设法使用以下代码拖动并调整标尺大小:
$(function () {
$("#draggable2").draggable({
axis: "x"
});
});
$(function () {
$("#draggable2").resizable({
helper: "ui-resizable-helper",
handles: "se, sw, e, w"
});
});
我还设法使用以下代码选择我想要的栏:
$(".fake").selectable({
filter: "div"
});
您可以在下面引用的小提琴中看到,当您进行“套索选择”时,我的条变成粉红色。
但是,我想将我的标尺与这个“套索选择”结合起来,或者换句话说,我希望一旦我的标尺被拖动,下面的所有 <div> 都会被选中。
我创建了一个小提琴来说明我的问题:http://jsfiddle.net/Lge93/
由于我是 Javascript 和 Jquery 的新手,我非常感谢任何解决方案或建议。
感谢您的宝贵时间
编辑帖子答案: 我基于 Jtromans 提供的代码的最终解决方案可在此处获得:http://jsfiddle.net/Lge93/5/
【问题讨论】:
-
这有点小问题 - 它在拖动时可以正常工作,但在调整标尺大小时就不行。您需要再次开始拖动它才能注意到已调整大小。
标签: javascript jquery jquery-ui jquery-ui-draggable jquery-ui-selectable