jsmind源码初探

先把项目跑起 

在<script>里面引入  jsmind.js  <link>里面引入样式

<link type="text/css" rel="stylesheet" href="../style/jsmind.css" />

<script type="text/javascript" src="../js/jsmind.js"></script>

<script type="text/javascript" src="../js/jsmind.draggable.js"></script>

var mind = {
    "format":"node_array",
    "data":[]
};
var options = {
    container:'jsmind_container',
    editable:false,
    support_html : true,// 可以实现对节点的div样式控制 与显示
    mode :'side',
    theme:'primary',
    view: {
        // engine: 'canvas',
        hmargin: 150,        // 思维导图距容器外框的最小水平距离
        vmargin: 100,         // 思维导图距容器外框的最小垂直距离
        line_width: 2,       // 思维导图线条的粗细
        line_color: '#f00'   // 思维导图线条的颜色
    },
    layout: {
        hspace: 50,          // 节点之间的水平间距
        vspace: 50,          // 节点之间的垂直间距
        pspace: 25           // 节点与连接线之间的水平间距(用于容纳节点收缩/展开控制器)
    }
};
this._jm = jsMind.show(options,mind);
draw_line:function(pin,pout,offset,canvas_ctx){
    var ctx = canvas_ctx || this.canvas_ctx;
    ctx.strokeStyle = '#aaa';
    ctx.lineWidth = '1';
    // ctx.lineCap = 'round';

    jm.util.canvas.lineto(
        ctx,
        pin.x + offset.x,
        pin.y + offset.y,
        pout.x + offset.x,
        pout.y + offset.y);
},

 

划线函数  调取了unit.canvas对象里面的

lineto : function(ctx,x1,y1,x2,y2){
    ctx.beginPath();
    ctx.moveTo(x1,y1);
    ctx.lineTo(x1,y2);//  新增
    ctx.lineTo(x2,y2);
    ctx.stroke();
    ctx.setLineDash([5,10]);// 新增
},

修改后可实现 折线 虚线效果

倾斜则是通过控制不同dom的css 实现

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值