iframe中的导航栏

时间:2018-10-19 13:15:35

标签: html css localhost

我正在尝试使用顶部导航栏设置仅限本地使用的网站。由于该站点将是多个页面,并且导航栏选项可以经常更改,因此我认为我可以使用SSI或类似的东西来引用所有页面。我在这里问过这个问题:How to mimic SSI for a local site

有人建议我使用iframe,这就是我现在要尝试的。但是,当菜单下拉时,它将停在iframe的底部。菜单div是否可以扩展到iframe之外?

1 个答案:

答案 0 :(得分:0)

  1. 添加一个<div class="nav"></div>
  2. 添加<script src="nav.js"></script>
  3. 使用类似这样的内容:

var navDiv = document.getElementById("nav");
if (navDiv) {
  var active = "/page3"; // location.pathname
  var navHtml = `
    <ul>
      <li class="${active=="/home"?"active":""}">Home</li>
      <li class="${active=="/about"?"active":""}">About</li>
      <li class="${active=="/page1"?"active":""}">Page1</li>
      <li class="${active=="/page2"?"active":""}">Page2</li>
      <li class="${active=="/page3"?"active":""}">Page3</li>
      <li class="${active=="/page4"?"active":""}">Page4</li>
      <li class="${active=="/page5"?"active":""}">Page5</li>
    </ul>`;
  navDiv.innerHTML = navHtml;
  //  document.querySelector(".active").scrollIntoView();

  var el = document.querySelector(".active")
  navDiv.scroll({
    top: el.offsetTop - 10,
    behavior: 'smooth'
  });
}
.active {
  color: red
}

#nav {
  overflow: auto;
  height: 50px;
  width: 100px;
  border: 1px solid black;
}
<div id="nav"></div>