var stepper = 10;//每次沿连线前进10像素
var x3 = 100;
var y3 = 100;//(angle是45度角)
x3 += stepper * Math.cos(angle);
y3 += stepper * Math.sin(angle);
为什么上边语句执行后x3和y3值 一下子成了1007多呢,怎么会有这么大呢???????????应该是稍大于100啊
var x3 = 100;
var y3 = 100;//(angle是45度角)
x3 += stepper * Math.cos(angle);
y3 += stepper * Math.sin(angle);
为什么上边语句执行后x3和y3值 一下子成了1007多呢,怎么会有这么大呢???????????应该是稍大于100啊
var x3 = 100;
var y3 = 100;var angle=45;
x3 += stepper * Math.cos(angle);
y3 += stepper * Math.sin(angle);
alert(x3)
105.253219...
<head>
<style type="text/css">
#depict
{
position:absolute;
}
</style><script type="text/javascript">var x1 = 0;
var y1 = 0;
var x2 = 0;
var y2 = 0;
var x3 = 0;
var y3 = 0;var stepper = 10;//每次沿连线前进10像素
var length = 0;
var angle = 0;
var t;function draw()
{
if(length < stepper)
{
clearInterval(t);
return;
}
var graph = document.getElementById("depict");
graph.style.left = x3;
graph.style.top = y3;
alert(x3);
alert(y3);/*
//计算下一次起点坐标
var aa = stepper * Math.cos(angle);
var bb = stepper * Math.sin(angle);
alert(aa);
alert(bb); x3 += aa;
y3 += bb;
*/
x3 += 1;
y3 += 1;
alert(x3);
alert(y3);
length = length - stepper;}
function onclicked()
{
x1=document.getElementById("x1").value;
y1=document.getElementById("y1").value;
x2=document.getElementById("x2").value;
y2=document.getElementById("y2").value; angle = Math.atan((y2-y1)/(x2-x1));
length = Math.sqrt( Math.pow((y2-y1),2)+Math.pow((x2-x1),2) );
x3 = x1;
y3 = y1; t = setInterval("draw()",300);
}
</script></head><body>第一个坐标
<input type="text" id="x1" value="100">
<input type="text" id="y1" value="100">
<br>
第二个坐标
<input type="text" id="x2" value="120">
<input type="text" id="y2" value="120">
<br>
<input type="button" value="start" onclick="onclicked();">
<br><img id="depict" alt="abc" src="11.jpg"></body></html>
你可以在draw()函数输出Math.tan(angle)的值,结果是9。999999999。
graph.style.top = y3;
alert(x3);
alert(y3);
x3=x3*1;y3=y3*1;
function onclicked()
{
x1=document.getElementById("x1").value*1;
y1=document.getElementById("y1").value*1;
x2=document.getElementById("x2").value*1;
y2=document.getElementById("y2").value*1;
angle = Math.atan((y2-y1)/(x2-x1));
length = Math.sqrt( Math.pow((y2-y1),2)+Math.pow((x2-x1),2) );
x3 = x1;
y3 = y1;
t = setInterval("draw()",300);
}