用jQuery DOM行在两个div之间画线

时间:2017-01-07 12:17:06

标签: javascript jquery dom

我想在两个div之间绘制一条直线并找到 jQuery DOM line ,这似乎比 jsPlump

我想将它集成到我的代码中,但它不起作用。这是我的基本例子:

var fromPoint = $('#first');
var toPoint = $('#second');
$.line(fromPoint, toPoint);

正如文档告诉我的那样。虽然控制台没有显示任何错误,但该行也没有显示任何错误。我错了吗?

CODEPEN DEMO

1 个答案:

答案 0 :(得分:1)

试试这个有效的代码:demo

实际上问题是$ .line必需对象,x和y值作为参数,在上面的问题中,它传递$ .line函数中的html元素。所以它没有用。所以我纠正了它。

function getOffset( el ) {
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.offsetParent;
    }
    return { top: _y, left: _x };
}

var fromPoint = getOffset($('#first')[0]);
var toPoint = getOffset($('#second')[0]);

var from = function () {},
to = new String('to');
from.y = fromPoint.top+10;
from.x = fromPoint.left+10;
to.y = toPoint.top+10; 
to.x = toPoint.left+10;

$.line(from, to);

console.log('All scripts runned');