我正在尝试使用css和javascript绘制一条线,如下例所示:example。我可以让它与原始的东西工作得很好,但在尝试修改它然后让它从html onload工作onload等于它不工作,但它正在使用onclick事件。
这是我的css:
.line
{
position: absolute;
height: 0px;
border-width: 2px 0px 0px 0px;
border-style: solid;
border-color: #99aadd;
}
和javascript:
function createLine2(myline,x1,y1,x2,y2)
{
if (x2 < x1)
{
var temp = x1;
x1 = x2;
x2 = temp;
temp = y1;
y1 = y2;
y2 = temp;
}
var length = Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
myline.style.width = length+"px";
var angle = Math.atan((y2-y1)/(x2-x1));
myline.style.top = y1 + 0.5*length*Math.sin(angle) + "px";
myline.style.left = x1 - 0.5*length*(1 - Math.cos(angle)) + "px";
myline.style.MozTransform = myline.style.WebkitTransform = myline.style.OTransform="rotate("+angle+"rad)";
}
最后是不起作用的html:
<div class="line" onload="createLine2(this,100,100,0,0)">test</div><br>
和可行的html:
<div class="line" onclick="createLine2(this,100,100,0,0)">test</div><br>
如何让它与onload一起使用以及我搞砸了什么?
答案 0 :(得分:1)
div标签上不允许使用onload事件。只允许使用以下标记:
<body>, <frame>, <frameset>, <iframe>, <img>, <input type="image">, <link>, <script>, <style>
答案 1 :(得分:0)
如果您使用的是jquery,我建议使用jquery ready函数。
.ready(handler)handler在DOM准备好后执行的函数。
如果您使用的是纯JavaScript,请使用window.onload
window.onload = funcRef;