2013-07-18 46 views
0

我有一个页面,您可以通过JavaScript从onclick函数加载内容。是否可以链接到自动加载其中一个功能的页面?是否可以直接链接到JavaScript onclick函数?

HTML:

<nav> 
      <p id="bout" onclick="bout()">About Us</p> 
      <p id="mish" onclick="mish()">Our Mission</p> 
      <p id="team" onclick="team()">The Team</p> 
      <p id="how" onclick="how()">How It Works</p> 
      <p id="poli" onclick="poli()">Policies</p> 
     </nav> 

     <div class="actual"> 

      <div id="about"> 
      <h2>About Us</h2> 
      <p>We are a conglomerate of hoodlums.</p> 
      </div> 

</div><!-- end actual --> 

JS:

function bout() { 
     document.getElementById("about").innerHTML= '<h2>About Us</h2><p>We are a conglomerate of hoodlums.</p>'; 
    } 
function mish() { 
    document.getElementById("about").innerHTML = '<h2>Mission</h2><p>Our mission is to rid the world of dust bunnies.</p>'; 

我希望能够直接与米什网页链接()加载,而不是默认的HTML。这可能吗?

+0

我希望能够用mish()加载而不是默认的HTML直接链接到这个页面????解释 –

+0

你的意思是你想用给定的参数打开页面吗? – devbnz

回答

3

是的,使用哈希标记并从那里调用该函数。

哈希的URL是这样的:

http://myserver.com/mypage.htm#about 

创建调用相应功能的js函数时加载页面,例如:

function onloaded(){ 
    hash = document.location.hash; 
    switch (hash): 
     case 'mish': 
     mish(); 
     break; 
    ... 
} 
+1

该死,你输入得更快。 –

+0

做一个比开关更好的方法是使用哈希函数创建一个对象。然后你可以这样做:'if(hashFunctions.hasOwnProperty(hash)){hashFunctions [hash](); }'。维护起来更容易,因为如果你有很多可能的哈希ID,你不必跟上一个可能会变得很长的交换机。 –

+0

同意,但我试图保持简单的例子。 – drz

0

你正在寻找一个网址哈希来维护状态。

例如:

function bout() { 
    document.getElementById("about").innerHTML= '<h2>About Us</h2><p>We are a conglomerate of hoodlums.</p>';  
    document.location.hash="bout"; 
} 

然后在页面加载时,看看document.location.hash的价值,如果它等于“回合”,称布特功能。

相关问题