根据附加到URL的内容加载不同的DIV内容

时间:2011-03-08 00:57:25

标签: javascript

我觉得这有一个简单的答案,但是我的google-fu让我失望了。我目前拥有的是几个链接,一旦点击,更改DIV中的HTML内容。

<a href="#new" onclick="document.getElementById('body').innerHTML
= '<p>NEW</p>';">NEW!</a>

但我想能够链接到这个内容。无论如何通过转到www.blahblah.com/index.html#new这样的URL来链接到这个,所以它会自动加载新的HTML代码吗?

原谅我,如果我是个白痴......我对javascript很新。

2 个答案:

答案 0 :(得分:2)

您可以使用window.location.hash查看URL上的哈希值,并根据该值显示正确的DIV。假设您的所有div都在页面上,一旦您知道要显示的div,您将执行以下操作:

document.getElementById(idOfDivToShow).style.display='block';

小例子:

<html>
  <head>
    <script type="text/javascript">
      function loadDiv() {
        if(window.location.hash == '#div1')
          document.getElementById('div1').style.display = "block";
        else if(window.location.hash == '#div2')
          document.getElementById('div2').style.display = "block";
      }
    </script>
  </head>
  <body onload="loadDiv()">
    <div style="display:none" id="div1">div1</div>
    <div style="display:none" id="div2">div2</div>
  </body>
</html>

答案 1 :(得分:1)

如果你使用jQuery,Mootools或Prototype,你可以使用history.js,它允许你根据哈希设置具有特定内容的状态。