可以用很多
也可嵌入多个一样的,但是我不知道是否有这个必要。
嵌入方式有多种,一般用
<script language=javascript>
....
....
</script>

解决方案 »

  1.   

    为什么下面这个程序,我无论嵌多少个,结果只显示一个?我想嵌入3次下面的程序,然后显示出3个,该如何弄呀<script> 
    var i,n; 
    var w=100,h=80;//设置控件的宽和高 
    var arrData=new Array(12,13,14,21,23,24,32,34,43);//设置饼图的数据 document.write('<OBJECT ID="DAControl" style="WIDTH='+w+';HEIGHT='+h+';border:0 solid black" CLASSID="CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D"></OBJECT>');//画出DAControl 
    var m=DAControl.PixelLibrary; 
    var arrCol=new Array(m.Red, m.Green, m.Blue, m.Aqua, m.Fuchsia, m.Gray,m.Lime, m.Maroon, m.Navy, m.Olive, m.Purple, m.Silver, m.Teal, m.Cyan, m.Magenta, m.Yellow, m.Black, m.White);//设置颜色数组 
    var iSum=0;for(i=0;i<arrData.length;i++)iSum+=arrData[i];//求出各数据的累加和 
    var ds=m.NewDrawingSurface(); 
    var iFrom=0,iTo=0; 
    var iMax=4;//设置重画次数 
    var px=0,py=4;//设置x,y轴的倾斜度 
    for(n=0;n<=iMax;n+=0.5)//重画可产生立体感 
    for(i=0;i<arrData.length;i++){ 
    ds.FillColor(arrCol[i]);//设置填充颜色 
    ds.BorderColor(arrCol[i]);//设置边框颜色 
    iTo+=arrData[i];//设置终止地点相关系数 
    ds.PieDegrees(-w/2+n*px,-h/2+(iMax-n)*py,iFrom/iSum*360,iTo/iSum*360,w-iMax*px,h-iMax*py);//画小块饼图 
    iFrom=iTo;//设置下一个数据初始位置相关系数 

    DAControl.Image=ds.Image;//设置DAControl的图形 
    DAControl.Start();//执行 
    </script>
      

  2.   

    直接复制是不行的,至少其中的id需要修改。把你的代码简单的改写了一下:
    <script> 
    var i,n; 
    var w=100,h=80;//设置控件的宽和高 
    var arrData=new Array(12,13,14,21,23,24,32,34,43);//设置饼图的数据 function pie(id,w,h) {
      this.id = id;
      this.px=0;
      this.py=4;//设置x,y轴的倾斜度 
      this.iMax=4;//设置重画次数 
      this.display = display;  document.write('<OBJECT ID="'+id+'" style="WIDTH='+w+';HEIGHT='+h+';border:0 solid black" CLASSID="CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D"></OBJECT>');//画出DAControl   function display() {
        var m=document.all[this.id].PixelLibrary; 
        var arrCol=new Array(m.Red, m.Green, m.Blue, m.Aqua, m.Fuchsia, m.Gray,m.Lime, m.Maroon, m.Navy, m.Olive, m.Purple, m.Silver, m.Teal, m.Cyan, m.Magenta, m.Yellow, m.Black, m.White);//设置颜色数组 
        var iSum=0;
        for(i=0;i<this.arrData.length;i++)
          iSum+=this.arrData[i];//求出各数据的累加和 
        var ds=m.NewDrawingSurface(); 
        var iFrom=0,iTo=0; 
        for(n=0;n<=this.iMax;n+=0.5)//重画可产生立体感 
          for(i=0;i<this.arrData.length;i++){ 
            ds.FillColor(arrCol[i]);//设置填充颜色 
            ds.BorderColor(arrCol[i]);//设置边框颜色 
            iTo+=this.arrData[i];//设置终止地点相关系数 
            ds.PieDegrees(-w/2+n*this.px,-h/2+(this.iMax-n)*this.py,iFrom/iSum*360,iTo/iSum*360,w-this.iMax*this.px,h-this.iMax*this.py);//画小块饼图 
            iFrom=iTo;//设置下一个数据初始位置相关系数 
        } 
        document.all[this.id].Image=ds.Image;//设置DAControl的图形 
        document.all[this.id].Start();//执行 
      }
    }
    p = new pie("p1",100,80);
    p.arrData=new Array(12,13,14,21,23,24,32,34,43);//设置饼图的数据
    p.display();
    p = new pie("p2",200,180);
    p.arrData=new Array(12,13,14);//设置饼图的数据
    p.px=10;
    p.py=1;
    p.iMax=1;
    p.display();
    </script>
      

  3.   

    是p = new pie("p2",100,80);规定了第二个图的大小吧?但是,为什么产生立体感的方向有点不对?
      

  4.   

    改写后 pie 是个对象
    他有一个display方法,用于显示饼图
    属性有:
    px   设置x轴的倾斜度
    py   设置y轴的倾斜度 
    iMax 设置重画次数 
    arrData 设置饼图的数据(数组)
    饼图大小在创建对象时传入
    调用方法:
    p = new pie("p1",100,80); //pie(饼图的id,宽,高)
    p.arrData=new Array(12,13,14,21,23,24,32,34,43);//设置饼图的数据
    p.display();
    设置px、py、iMax 可改变饼图的形态
    上面我给的例子是为了演示调用和设置的。实际使用按你的需要。例:
    <table>
    <tr>
    <td>
    <sctipt>
    p = new pie("p1",100,80); //pie(饼图的id,宽,高)
    p.arrData=new Array(12,13,14);//设置饼图的数据
    p.display();
    </script>
    </td>
    <td>
    <sctipt>
    p = new pie("p1",100,80); //pie(饼图的id,宽,高)
    p.arrData=new Array(21,23,24);//设置饼图的数据
    p.display();
    </script>
    </td>
    <td>
    <sctipt>
    p = new pie("p1",100,80); //pie(饼图的id,宽,高)
    p.arrData=new Array(32,34,43);//设置饼图的数据
    p.display();
    </script>
    </td>
    </tr>
    </table>
      

  5.   

    非常感谢,但是:
    1,为什么在mozilla下什么都看不到?
    2,有没有办法,把这个饼图输出成图片,比如JPG和GIF什么的?