用 canvas 制作简易版组态 联动连接工具

效果如下,拖动任意一个,连线会随着动,
(连线连的比较随意,后期换别的版本了,就没继续做下去)

1.1 支持任意添加
1.2 支持右键删除
1.3 支持联动

使用说明:
1.点击图片添加图片
2.进入连线模式侯才可以连线

这里写图片描述

<!DOCTYPE html>
<html>
<head>
    <title>鼠标滚轮</title>
    <meta charset="utf-8">
    <style>
        canvas {
            border: 1px dashed black;
        }
    </style>
    <script src="js/fabric.js"></script>
    <script src="js/jquery-1.11.3.js"></script>
    <script src="js/jquery.mousewheel.js"></script>
    <script src="contextMenu/jquery.ui.position.min.js" type="text/javascript"></script>
    <script src="contextMenu/jquery.contextMenu.js" type="text/javascript"></script>
    <link href="contextMenu/jquery.contextMenu.css" rel="stylesheet" type="text/css" />
</head>
<body>

<div>非连接模式下,按住alt 才可拖动画布</div>
    <canvas id="canvas" width="600" height="600"></canvas>
    <div id="contextmenu-output"></div>
<div>
    <button id="addPic" onclick="addPic()">图片</button>
    <button id="addLine" onclick="addLine()">连线模式</button>
</div>


<script>
    var canvas;

    //是否拖动
    var panning = false;

    //连线模式
    var ligature = false;
    var lineNum;
    var selectObj;

    canvas = new fabric.Canvas('canvas');

    //鼠标按下
    canvas.on('mouse:down', function (e) {
    

        if(ligature){ //连线模式

            //点击位置坐标
            var pointering = canvas.getPointer(event.originalEvent);
            var inner = false;
            var objects = canvas.getObjects();
            var selected;

            //定义被点击物体的信息
            
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值