【发布时间】:2017-12-27 00:36:30
【问题描述】:
我有一些动态可拖动的 DIV,我想通过灵活的动态线将 DIV 相互连接起来。线路应该是动态可连接或可移动的。那么我该如何实现我的目标呢?
我还想对连接/删除事件执行操作。
如何通过svg 或flexbox 或jQuery 或CSS 技巧来实现这种类型的灵活线路?请任何人提出任何实现此目标的方法。
我当前的 HTML/CSS/JS 看起来像这样:
<html>
<head>
<title>Dragable </title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="bootstrap.min.css" rel="stylesheet"><!--//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/-->
<link href="jquery-ui.css" type="text/css" rel="stylesheet" media="all"><!--//code.jquery.com/ui/1.10.1/themes/base/-->
<style>
@import url(http://fonts.googleapis.com/css?family=Antic+Slab);
.ui-draggable-dragging {
z-index: 10000!important;
}
html,body {
height:100%;
}
h1 {
font-family: 'Antic Slab', serif;
font-size:80px;
color:#DDCCEE;
}
.lead {
color:#DDCCEE;
}
/* Custom container */
.container-full {
margin: 0 auto;
width: 100%;
min-height:100%;
background-color:#110022;
color:#eee;
overflow:hidden;
}
.container-full a {
color:#efefef;
text-decoration:none;
}
.v-center {
margin-top:7%;
}
.panel {
background-color: yellow;
}
.panel-droppable {
width: 275px;
height: 200px;
border: solid 1px black;
background-color: grey;
}
</style>
<script type='text/javascript' src="jquery.min.js"></script><!--//ajax.googleapis.com/ajax/libs/jquery/2.0.2/-->
<script type='text/javascript' src="jquery-ui.js"></script><!--//code.jquery.com/ui/1.10.1/-->
<script type='text/javascript' src="bootstrap.min.js"></script><!--//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/-->
<script async type="text/javascript" src="carbon.js?zoneid=1673&serve=C6AILKT&placement=bootplycom" id="_carbonads_js"></script><!--//cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=bootplycom-->
<script type="text/javascript">
$(document).ready(function () {
$('.panel').draggable();
$('#hellolanding').draggable();
$('.panel-droppable').droppable()
});
</script>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading"><h3>Drag 1</h3></div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading"><h3>Drag 2</h3></div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading"><h3>Drag 3</h3></div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading"><h3>Drag 4</h3></div>
</div>
</div>
</div>
</div> <!-- /container full -->
</body>
</html>
【问题讨论】:
-
你最好在 photoshop 中创建这条灵活的线条,然后将其作为图像插入。如果你想在 css 中创建它,只意味着你需要使用简单的 SVG
-
但是我想在指向两个 div 或取消指向两个 div 时执行一些事件(例如连接两个 div 或断开两个 div 时的数据库条目)
-
所以应该只有一条线将两个div绑定在一起,有点像链子,它们是通过链子连接的?而且这条线/链不允许是直的,它应该是弯曲的?而且这条曲线有实际用途,还是只是为了美观?
-
是的,像这样。但是线条会随着 div 的移动而动态弯曲。它也是一种决策层次结构
-
@myfunkyside 你对 mautic 工具有什么想法吗?
标签: jquery html css svg flexbox