2013-07-18 72 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的價值,如果它等於「回合」,稱布特功能。

相關問題