使用javascript

时间:2017-06-03 19:11:17

标签: javascript html svg line

我正在尝试创建一条从窗口的一侧绘制到另一侧的线条。使用javascript我希望它在某个点上。我想检测窗口大小和导航栏高度。我遇到的问题是没有显示该行。

这是我的javascript和html代码:

      <script>
        function createLineScreenWidth() {

          var elem = getElementsByTagName("svg")[0];
          var line = getElementsByTagName("line")[0];
          var y_pos = getElementByID("navbar").height;

          elem.style.height = "10";
          elem.style.width =  screen.width;

          line.style.stroke = rgb(188, 204, 229);
          line.x2 = screen.width;
          line.y1 = line.y2 = y_pos;
        }
      </script>
        <div class="navbar" id="navbar">
            <nav>
                <a href="/contact/"><div class="pageIcon">CONTACT</div></a>
                <a href="/products/"><div class="pageIcon">PRODUCTS</div></a>
                <a><div class="pageIcon onpageIconChange">ABOUT</div></a>
            </nav>
        </div>
        <svg onload="createLineScreenWidth()">
          <line x1="0" style="stroke-width: 2;" />
        </svg>

1 个答案:

答案 0 :(得分:0)

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>ds</title>
  <style>
    #navbar{
      position: relative;

    }
  </style>
</head>
<body>
  <script>
    function createLineScreenWidth() {

      var elem = document.getElementsByTagName("svg")[0];
      var line = document.getElementsByTagName("line")[0];

      var y_pos = document.getElementById("navbar").clientHeight;


      elem.style.height = "100";
      elem.style.width =  screen.width;


      // line.style.stroke = "red";
      // line.x2 = screen.width;
      // line.y1 = line.y2 = y_pos;

      line.setAttribute('x1','0');
      line.setAttribute('y1',y_pos);
      line.setAttribute('x2',screen.width);
      line.setAttribute('y2',y_pos);
      line.setAttribute("stroke", "rgb(188, 204, 229)")
      elem.appendChild(line);
    }
  </script>
  <div class="navbar" id="navbar">
    <nav>
      <a href="/contact/"><div class="pageIcon">CONTACT</div></a>
      <a href="/products/"><div class="pageIcon">PRODUCTS</div></a>
      <a><div class="pageIcon onpageIconChange">ABOUT</div></a>
    </nav>
  </div>
  <svg onload="createLineScreenWidth()">
    <line x1="0" style="stroke-width: 2;" />
  </svg>
</body>
</html>

实际上有很多错误

  1. 缺少document.get
  2. 是clientHeight not height
  3. 没有rgb函数,而是必须用双引号
  4. 包装该值
  5. 最后但并非最不重要,而不是行。我正在使用.setAttribute,这更清楚我们在做什么IMO