使用javascript应用css:after(无jquery)
我发现这段代码在div中创建了一个对角线 我想用JS做一个线生成器。但是我想用js创建这个完整的对象 从document.createElement等开始 我这里有一些代码:使用javascript应用css:after(无jquery),javascript,html,css,Javascript,Html,Css,我发现这段代码在div中创建了一个对角线 我想用JS做一个线生成器。但是我想用js创建这个完整的对象 从document.createElement等开始 我这里有一些代码: function createLine(name, x1, y1, x2, y2, color){ var rectX1; var rectY1; var rectX2; var rectY2; //Line direction // 0 = top left -> bottom right // 1 = top
function createLine(name, x1, y1, x2, y2, color){
var rectX1;
var rectY1;
var rectX2;
var rectY2;
//Line direction
// 0 = top left -> bottom right
// 1 = top right -> bottom left
// 2 = bottom left -> top right
// 3 = bottom right -> top left
var lineDirection = null;
//Find the direction
if (x1 < x2 && y1 < y2) {
lineDirection = 0;
rectX1 = x1;
rectY1 = y1;
rectX2 = x2;
rectY2 = y2;
}
if (x2 < x1 && y1 < y2) {
lineDirection = 1;
rectX1 = x2;
rectY1 = y1;
rectX2 = x1;
rectY2 = y2;
}
if (x1 < x2 && y2 < y1) {
lineDirection = 2;
rectX1 = x1;
rectY1 = y2;
rectX2 = x2;
rectY2 = y1;
}
if (x2 < x1 && y2 < y1) {
lineDirection = 3;
rectX1 = x2;
rectY1 = y2;
rectX2 = x1;
rectY2 = y1;
}
//Create a div with the 2 points
var div = document.createElement("div");
div.id = name;
div.style.position = "absolute";
div.style.zIndex = 5;
div.style.left = rectX1 + "px";
div.style.top = rectY1 + "px";
div.style.right = (window.innerWidth - rectX2) + "px";
div.style.bottom = (window.innerHeight - rectY2) + "px";
div.style.backgroundColor = color;
//Add the div to the body
document.body.appendChild(div);
}
这会做得更多,但现在我想创建对角线
是的,我知道我需要一些公式来计算线的度数和长度,但现在我只想知道如何用js创建对角线
Thx很多,
Jules您可以轻松地使用背景层和一行JS代码,在其中可以插入所需的变量:
div.style.backgroundImage="linear-gradient(to top right,transparent calc(50% - 2px),blue,transparent calc(50% + 2px))";
完整代码:
函数createLinename,x1,y1,x2,y2,颜色{
var-rectX1;
直肠1型;
向量rect2;
var-rectY2;
//线路方向
//0=左上->右下
//1=右上->左下
//2=左下->右上
//3=右下->左上
var lineDirection=null;
//找到方向
如果x1