以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  请求高手:怎么样根据鼠标移动的位置来动态画线呀  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=20477)


--  作者:guoliping007
--  发布时间:7/18/2005 4:53:00 PM

--  请求高手:怎么样根据鼠标移动的位置来动态画线呀
请求高手:怎么样根据鼠标移动的位置来动态画线呀,线我可以画出来,但当我移到第二点的时候,不知道删除第一点时所画的线,我要的效果就是有一根线跟着鼠标移动,请高手帮忙指点
--  作者:zb9030@126.com
--  发布时间:7/18/2005 6:18:00 PM

--  
用三个动作,一个是MDown ,一个是MMove , 一个是MUp.
在MDown是先记录M的坐标,创建一个createElement("line"),再把这个Element加到展示容器,接下来就是MMove做的事了,实时获取M的坐标,把坐标值更新到刚才创建的Element的属性去.
这就实现了拉一条线了.MUp那,就把刚才的那个Element的变量赋为NULL就OK了
--  作者:guoliping007
--  发布时间:7/18/2005 7:04:00 PM

--  
我的意思是取出鼠标当前的XPos点,系统画一条line(XPos,50,XPos,300);
当我移动鼠标到别的地方时(不点击鼠标),清除上次画的线,再利用新的XPOS画一条新线

--  作者:guoliping007
--  发布时间:7/19/2005 10:47:00 AM

--  
OK,搞定了,我是采用先删除,后画线来完成的
如:
function drewLine(evt)
{
   var txts=document.getDocumentElement().getElementsByTagName("line");
   for(var i=txts.length-1;i>=0;i--){
    if(txts.item(i).getId()=="xline" || txts.item(i).getId()=="yline")
 document.getDocumentElement().removeChild(txts.item(i));
   }
   var XPos = evt.clientX();
   var YPos = evt.clientY();
   line(50,YPos,550,YPos,"xline");
   line(XPos,50,XPos,300,"yline");
}
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
1,890.625ms