<v:polyLine style="position:absolute;" filled="false" strokecolor="#0000FF" StrokeWeight="1.2" Points="100,100 200,200">
<v:stroke endarrow="classic""/>
</v:polyLine>
我在页面中直接定义Points获取到的value值为:75pt,75pt,150pt,150pt
通过px = pt*4/3可获取到正确的值"100,100 200,200"  
但是当我将获取到的值再赋值给obj.Points.value="100,100 200,200"  时再通过JS获取到却变成了:"150pt,150pt,225pt,225pt"   这个和原始值好像没什么关系  没规律了  请问这个具体要怎么弄啊~~ 

解决方案 »

  1.   

    主要的问题就是怎么将points的pt值正确的还原为原来的值(需要用到points值运算)  好像通过JS赋值后就乱了 
      

  2.   


    var s = "150pt,150pt,225pt,225pt";
    pt的单位,你可以将字符串中的pt替换掉
    var ary = s.split(',');
    ary[0].replace("pt", "");
    ary[1].replace("pt", "");
    ary[2].replace("pt", "");
    ary[3].replace("pt", "");
      

  3.   


    var s = "150pt,150pt,225pt,225pt";
    pt的单位,你可以将字符串中的pt替换掉
    var ary = s.split(',');
    ary[0].replace("pt", "");
    ary[1].replace("pt", "");
    ary[2].replace("pt", "");
    ary[3].replace("pt", "");
    加减运行要转换类型,alert(Number(ary[3].replace("pt", "")) + 10);
      

  4.   

    呵呵 解决了 还是谢谢大家了 。VML主要是坐标系不同,不管如何的转换 如果你没有设置相应的坐标  根据JS获取到的值是没有没规律的。
    对于PolyLine,Point折角功能的实现过程中,如果没有设置VML坐标,直接以insertBefore或appendChild方式将VML对象加入到body中,那么用JS获取到的Point值是变动的  那个直接用pt替换的方式几乎可行 但永远都会差那么几十个色素点  并且在添加删除等操作的过程中  可能会出现位置偏移的现象  我测试了相关的方案,如果已知该PolyLine的px单位Point的话,直接赋值是可行的,如果需要修改,则直接修改px单位的值 然后重新设置Point.value="px..."基于此 我自定义了一个pointPx属性,专门用来动态修改Point值  目前在我的工作流项目中 已完成折角、重定向等图形配置功能   
      

  5.   

    哥们  我现在遇到了同样的问题 obj.Points.value重新赋值后就乱了 ,   可否将你的具体的解决方案发给我参考下啊  邮箱:[email protected]
      
    多谢!