Javascript使用jQuery绘制线条

时间:2010-07-01 10:55:16

标签: javascript jquery graphics line

请在此处查看我的代码http://jsbin.com/ijoxa3/edit

var drawHorizondalLine = function(x1,y1,x2,y2, color) {

          var width = Math.abs(x1 - x2);
          var posX  = (x1 > x2) ? x1 : x2;
          var id ='c_'+new Date().getTime()
          var line = "<div id='"+id+"'class='line'>&nbsp;</div>";

          $('body').append(line);

          $('#'+id).css({
            left: posX,
            top: y1,
            width: width,
            position:'absolute',
            backgroundColor: color
          });

};


$(document).ready(function() {
  drawHorizondalLine(0, 10, 200, 10, '#a00');
  drawHorizondalLine(0, 50, 100, 50, '#0a0');
});
<style>

.line{
    padding;1px;
  } 
</style>
<body>
  <p id="hello">Hello World</p>
</body>
</html>​

函数调用drawHorizondalLine(0, 10, 200, 10, '#a00');假设从页面的左上角绘制一条线,长度为100px,但该线似乎从正文的最后一个div开始。

错误在哪里?

1 个答案:

答案 0 :(得分:1)

var posX  = (x1 > x2) ? x1 : x2;

应该是

var posX  = (x1 < x2) ? x1 : x2;

工作演示为here