你到底要红色还是蓝色??function mkDiv(x, y, w, h)
{
this.color="red";//这里自己改颜色
this.htm += '<div style="position:absolute;'+
'left:' + x + 'px;'+
'top:' + y + 'px;'+
'width:' + w + 'px;'+
'height:' + h + 'px;'+
'clip:rect(0,'+w+'px,'+h+'px,0);'+
'background-color:' + this.color + (!jg_moz? ';overflow:hidden' : '')+ ';"><\/div>';
    document.all.div2.innerHTML=this.htm;
}
mkLinBlue(0,0,100,100);//这里不是mkLin(0,0,100,100);

解决方案 »

  1.   

    非常感谢BlueDestiny(May Be I am Really never online.) 
    那如何画出不同粗细的线条来呢?要不要改这段程序?
      

  2.   

    function mkDiv(x, y, w, h)这个函数是做啥用的?好象是画矩形用的了?设置它的颜色有啥用呢?function mkLinBlue(x1, y1, x2, y2)好象才是画线用的?
      

  3.   

    mkDiv(x, y, w, h)是用来画点的,由这些点构成图形。
    要修改线条粗细,只要修改参数w和h就行了,改大点看看。
      

  4.   

    这段程序这么眼熟
    http://community.csdn.net/Expert/topic/4723/4723810.xml?temp=4.972476E-02
    建议楼主还是有vml中的画线把
      

  5.   

    举例:
    this.color="red";//这里自己改颜色
    w=100;h=100;另外,运行了下程序,效率极低,如果不是有非这样用的必要,这样的方式真是毫不可取。
      

  6.   

    这段程序应该是clare2003(忘情火) ( ) 老兄提供的吧,谢一下先.
      

  7.   

    不过加了this.color好象也不行呀.
      

  8.   

    会变色的我用的ie
    <body>
    <div id="div2">
    <script>
    var jg_moz;
    var color="blue"
    var htm="";
    function mkDiv(x, y, w, h)
    {
    this.htm += '<div style="position:absolute;'+
    'left:' + x + 'px;'+
    'top:' + y + 'px;'+
    'width:' + w + 'px;'+
    'height:' + h + 'px;'+
    'clip:rect(0,'+w+'px,'+h+'px,0);'+
    'background-color:' + this.color + (!jg_moz? ';overflow:hidden' : '')+ ';"><\/div>';
        document.all.div2.innerHTML=this.htm;
    }function mkLin(x1, y1, x2, y2)
    {
    if (x1 > x2)
    {
    var _x2 = x2;
    var _y2 = y2;
    x2 = x1;
    y2 = y1;
    x1 = _x2;
    y1 = _y2;
    }
    var dx = x2-x1, dy = Math.abs(y2-y1),
    x = x1, y = y1,
    yIncr = (y1 > y2)? -1 : 1; if (dx >= dy)
    {
    var pr = dy<<1,
    pru = pr - (dx<<1),
    p = pr-dx,
    ox = x;
    while ((dx--) > 0)
    {
    ++x;
    if (p > 0)
    {
    this.mkDiv(ox, y, x-ox, 1);
    y += yIncr;
    p += pru;
    ox = x;
    }
    else p += pr;
    }
    this.mkDiv(ox, y, x2-ox+1, 1);
    } else
    {
    var pr = dx<<1,
    pru = pr - (dy<<1),
    p = pr-dy,
    oy = y;
    if (y2 <= y1)
    {
    while ((dy--) > 0)
    {
    if (p > 0)
    {
    this.mkDiv(x++, y, 1, oy-y+1);
    y += yIncr;
    p += pru;
    oy = y;
    }
    else
    {
    y += yIncr;
    p += pr;
    }
    }
    this.mkDiv(x2, y2, 1, oy-y2+1);
    }
    else
    {
    while ((dy--) > 0)
    {
    y += yIncr;
    if (p > 0)
    {
    this.mkDiv(x++, oy, 1, y-oy);
    p += pru;
    oy = y;
    }
    else p += pr;
    }
    this.mkDiv(x2, oy, 1, y2-oy+1);
    }
    }
    }
    mkLin(0,0,100,100);
    </script>
    </div>
    </body>
      

  9.   

    javascript画线和画图形,网上有一个很好的类库
    http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm
    建议你看看,
      

  10.   

    我是把程序加到了js文件里,从.net 2003的后台代码里调用.其中程序中的div是放到了c#的代码里.就是这样后,颜色出不来了.
      

  11.   

    clare2003(忘情火) 老兄,我的代码贴出来了:方法:通过在c#.net中调用javascript来实现.在文件的html代码中加入
    <HEAD>
    <script src="JScript.js"></script>
    </HEAD><body>
      <div id="div2">12</div>
      <div id="div1">1212</div>
    </body>将JScript.js(就是原来提供的代码)加入项目文件中。
    然后在后台代码中加入以下代码:
              int xr0=100,yr0=100,xr1=200,yr1=300;
      string strScript = "<script>mkLin(" + xr0 + "," + yr0 + "," + xr1 + "," + yr1 + ");</script>";
      this.RegisterClientScriptBlock("JScript", strScript);
    画出来了线,但是颜色全是绿色的。
    JScript.js代码如下:var jg_moz;
    var color="red"
    var htm="";
    function mkDiv(x, y, w, h)
    {
        this.color="red";
    this.htm += '<div style="position:absolute;'+
    'left:' + x + 'px;'+
    'top:' + y + 'px;'+
    'width:' + w + 'px;'+
    'height:' + h + 'px;'+
    'clip:rect(0,'+w+'px,'+h+'px,0);'+
    'background-color:' + this.color + (!jg_moz? ';overflow:hidden' : '')+ ';"><\/div>';
        document.all.div2.innerHTML=this.htm;
    }function mkLin(x1, y1, x2, y2)
    {
    if (x1 > x2)
    {
    var _x2 = x2;
    var _y2 = y2;
    x2 = x1;
    y2 = y1;
    x1 = _x2;
    y1 = _y2;
    }
    var dx = x2-x1, dy = Math.abs(y2-y1),
    x = x1, y = y1,
    yIncr = (y1 > y2)? -1 : 1; if (dx >= dy)
    {
    var pr = dy<<1,
    pru = pr - (dx<<1),
    p = pr-dx,
    ox = x;
    while ((dx--) > 0)
    {
    ++x;
    if (p > 0)
    {
    this.mkDiv(ox, y, x-ox, 1);
    y += yIncr;
    p += pru;
    ox = x;
    }
    else p += pr;
    }
    this.mkDiv(ox, y, x2-ox+1, 1);
    } else
    {
    var pr = dx<<1,
    pru = pr - (dy<<1),
    p = pr-dy,
    oy = y;
    if (y2 <= y1)
    {
    while ((dy--) > 0)
    {
    if (p > 0)
    {
    this.mkDiv(x++, y, 1, oy-y+1);
    y += yIncr;
    p += pru;
    oy = y;
    }
    else
    {
    y += yIncr;
    p += pr;
    }
    }
    this.mkDiv(x2, y2, 1, oy-y2+1);
    }
    else
    {
    while ((dy--) > 0)
    {
    y += yIncr;
    if (p > 0)
    {
    this.mkDiv(x++, oy, 1, y-oy);
    p += pru;
    oy = y;
    }
    else p += pr;
    }
    this.mkDiv(x2, oy, 1, y2-oy+1);
    }
    }
    }