jquery - 画一条线连接两个点击的 div 列

标签 jquery css

我想要实现一个功能,我可以在点击事件中将 2 个 div 与一条线连接起来。这个概念是关于在 2 个不同的列中匹配内容,如下所示。请帮助我,因为我已经尽我所能,因为我不想使用任何外部或 HTML5 Canvas 。是否可以仅使用 jquery、css 和 html 来实现。请回复。谢谢。

最佳答案

我可能有一个由三行组成的行的潜在想法 - 水平(来自元素),垂直(向上或向下)和水平(到另一个元素)。您可以创建 2 个非常小的列,在 A 列和 B 列之间没有边框,然后使用 jquery .css 将相应的边框添加到正确的列和行中。

如果您希望对线条进行动画处理,您可以创建初始大小为 0 的 div,然后对列的大小进行动画处理以便出现边框。

这是一个基本的 fidde:http://jsfiddle.net/3xPpc/ HTML:

  <div class="big-col">
    <div class="big-row blue"></div>
    <div class="big-row green"></div>
    <div class="big-row blue"></div>
    <div class="big-row green"></div>
</div>
<div class="small-col">
    <div id="row-1-left" class="small-row"></div>
    <div id="row-2-left" class="small-row"></div>
    <div id="row-3-left" class="small-row"></div>
    <div id="row-4-left" class="small-row"></div>
    <div id="row-5-left" class="small-row"></div>
    <div id="row-6-left" class="small-row"></div>
    <div id="row-7-left" class="small-row"></div>
    <div id="row-8-left" class="small-row"></div>
</div>
<div class="small-col">
    <div id="row-1-right" class="small-row"></div>
    <div id="row-2-right" class="small-row"></div>
    <div id="row-3-right" class="small-row"></div>
    <div id="row-4-right" class="small-row"></div>
    <div id="row-5-right" class="small-row"></div>
    <div id="row-6-right" class="small-row"></div>
    <div id="row-7-right" class="small-row"></div>
    <div id="row-8-right" class="small-row"></div>
</div>
<div class="big-col">
    <div class="big-row blue"></div>
    <div class="big-row green"></div>
    <div class="big-row blue"></div>
    <div class="big-row green"></div>
</div>

CSS: .big-col { 向左飘浮;

.small-col {
float: left;
}

.big-row {
width: 200px;
height: 100px;     
}

.blue {
background-color: blue;
}

.green {
background-color: green;
}

.small-row {
width: 40px;
height: 50px;     
}

#row-1-left {
border-bottom: 1px solid orange;
}

#row-5-right {
border-bottom: 1px solid orange;
}

#row-2-right, #row-3-right, #row-4-right, #row-5-right {
border-left: 1px solid orange;
}

您所要做的就是使用 jQuery 添加点击边框。

关于jquery - 画一条线连接两个点击的 div 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23927663/

相关文章:

jquery - 停止在 Internet Explorer 中提交表单

javascript - 比较两列高度 Bootstrap/在列之间移动 div

javascript - React 中的组件 css 类不会渲染到 DOM

javascript - ionic 和 Angular : Toggle CSS throughout the entire app?

html - 阻止文本 div 重叠

jquery - 接收从loadFile发送到 Electron 中的html页面的数据

javascript - 如何从jquery中的json中获取不同的值

jquery - 当尺寸改变时保持 div 内的元素相同

css - 如何在透明 GIF 文件下添加圆形阴影?

html - 样式表不适用于 Heroku