function GetPoint(obj,_jpx,_jpy)
{
var _w=obj.style.pixelWidth;
var _h=obj.style.pixelHeight;
var _left=obj.style.pixelLeft;
var _top=obj.style.pixelTop;
var _epx=(arguments.length<5)?event.x:arguments[3];
var _epy=(arguments.length<5)?event.y:arguments[4];
var _ajpx=((_jpx>_epx)?_epx:_jpx);
var _ajpy=((_ajpx==_epx)?_epy:_jpy);
var _tspx=((_jpx<_left)?_left:((_jpx>_left+_w)?_left+_w:_jpx));
var _tspy=((_jpy<_top)?_top:((_jpy>_top+_h)?_top+_h:_jpy));
if(_jpx==_epx||_jpy==_epy)
{
if(_jpx==_epx)
{
_y=_tspy;
_x=_jpx;
}
else if(_jpy==_epy)
{
_x=_tspx;
_y=_jpy;
}
}
else
{
var _aepx=((_jpx>_epx)?_jpx:_epx);
var _aepy=((_aepx==_jpx)?_jpy:_epy);
var _scale = (_aepx-_ajpx)/(_aepy-_ajpy);
var _x=(_aepx-(_aepy-_tspy)*_scale).formatNumber(5);
var _y=(_aepy-(_aepx-_tspx)/_scale).formatNumber(5);
if(_y<_top||_y>(_top+_h))_y=_tspy;
if(_x<_left||_x>(_left+_w))_x=_tspx;
}
return ([_x,_y]);
}
GetPoint(obj,_jpx,_jpy)
目标容器 obj (必选)
起点坐标 _jpx,_jpy (必选)
终点坐标 _epx,_epy (可选)
返回值为交点坐标数组[_x,_y]
Function demo URL:
http://www.xlone.net/file/upload/vmlline.html