gpt4 book ai didi

javascript - 在 JavaScript 中绘制直线

转载 作者:行者123 更新时间:2023-11-28 09:50:28 25 4
gpt4 key购买 nike

我只是想用 JavaScript 画一条线。

我希望它是这样的:http://deepliquid.com/projects/blog/arrows2.html

我的版本:http://jsfiddle.net/shawn31313/qsWML/5/show

效果不太好,我不知道如何让它发挥作用。这一定是我的 JavaScript 中的问题。

这是我的代码:

$(document).ready(function() {
var dragStatus = 2,
getPos, giveRandomID;
$(document).mousedown(function(event) {
dragStatus = 0;
getPos = {
top: event.clientY,
left: event.clientX
};
giveRandomID = Math.floor(Math.random() * 99999);
});
$(document).mousemove(function() {
var line = $('#line' + giveRandomID);
if (dragStatus == 0) {
$('body').append("<div id='line" + giveRandomID + "' style='position:absolute;top:" + getPos.top + "px;left:" + getPos.left + "px;background:black;width:2px;height:5px'></div>");
dragStatus = 1;
}
if (dragStatus == 1) {
if (event.clientX > getPos.left) {
line.css({
left: getPos.left,
width: event.clientX - getPos.left
});
} else {
line.css({
left: event.clientX,
width: getPos.left - event.clientX
});
}
if (event.clientY > getPos.top) {
line.css({
top: getPos.top - Math.abs((event.clientY - getPos.top) * 2),
'-webkit-transform': 'rotate(' + (event.clientY - getPos.top) + 'deg)'
});
} else {
line.css({
top: getPos.top + Math.abs((getPos.top - event.clientY) * 2),
'-webkit-transform': 'rotate(' + (getPos.top - event.clientY) + 'deg)'
});
}
//for DEG "-" Top-Math.abs(DEG*2) for Deg "+" Top+(DEG*2)
}
});
$(document).mouseup(function() {
dragStatus = 2;
});
});​

感谢您帮助解决此问题。主要是数学问题,只是不知道如何解决这个问题。

最佳答案

使用 Canvas 标签,以下是来自 MDN https://developer.mozilla.org/en/Canvas_tutorial/Drawing_shapes 的示例

关于javascript - 在 JavaScript 中绘制直线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11131022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com