Javascript 使用jQuery DOM line在两个div之间绘制线
我想在两个div之间画一条直线,然后找到,这似乎是一种比小得多、简单得多的方法 我想将它集成到我的代码中,但它不起作用。以下是我最基本的例子:Javascript 使用jQuery DOM line在两个div之间绘制线,javascript,jquery,dom,Javascript,Jquery,Dom,我想在两个div之间画一条直线,然后找到,这似乎是一种比小得多、简单得多的方法 我想将它集成到我的代码中,但它不起作用。以下是我最基本的例子: var fromPoint = $('#first'); var toPoint = $('#second'); $.line(fromPoint, toPoint); 正如医生告诉我的那样。虽然控制台没有显示任何错误,但行本身也没有显示。我的错在哪里 尝试以下工作代码: 实际上,问题是$.line必需的对象,其x和y值作为参数,在上面的问题中,它在$
var fromPoint = $('#first');
var toPoint = $('#second');
$.line(fromPoint, toPoint);
正如医生告诉我的那样。虽然控制台没有显示任何错误,但行本身也没有显示。我的错在哪里
尝试以下工作代码:
实际上,问题是$.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');
谢谢你的建议。所以我不需要输入一些DOM元素,而是一个已经计算好的位置?啊,不,我看到了。也许您可以添加
fromPoint和toPoint是相对于页面左上角具有x和y数字属性的必需对象。选项是一个可选对象,如下所示。
请对您的答案进行修改,以便向其他人解释清楚……谢谢:)@DavidThomas我已经更新了答案,并提到了问题所在以及解决方法。您好Bharatsing,您知不知道如果我们从您的上述脚本代码中在元素内部划一条线。我试着找到了位置,但它会分散。如果我使用了与你相同的代码,那么有些行是准确的,有些行是很长的(它从主体计算顶部,显示错误)