2014-01-19 158 views
0

我有這段代碼:當然的JavaScript包括另一個文件

var curState = 'Agenda'; 

function switchState(newState) { 
    curState = newState; 
} 

function Inbox() { 
    switchState('Inbox'); 
    document.getElementById("u-content").innerHTML = "Currently, you're viewing the Inbox."; 
} 

function Friends() { 
    switchState('Friends'); 
    document.getElementById("u-content").innerHTML = "Currently, you're viewing the Friends."; 
} 

function Agenda() { 
    switchState('Agenda'); 
    document.getElementById("u-content").innerHTML = "Currently, you're viewing the Agenda."; 
} 

function List() { 
    switchState('List'); 
    document.getElementById("u-content").innerHTML = "Currently, you're viewing the Book List."; 
} 

function News() { 
    switchState('News'); 
    document.getElementById("u-content").innerHTML = "Currently, you're viewing the News."; 
} 

function Notes() { 
    switchState('Notes'); 
    document.getElementById("u-content").innerHTML = "Currently, you're viewing the Notes."; 
} 

中顯示的文本是一個考驗,我會改變它。關鍵是,我必須在菜單的這些「狀態」中放置大量文本,並且在這裏輸入它並不是非常方便,特別是如果稍後會進行更改。因此,我想知道如何在JavaScript中添加不同形式的文件,或者讓它們使用JavaScript顯示,如* .php文件。

有沒有人知道如何做這樣的事情?我搜索了很多在互聯網上,但無法找到的東西對我有用,除了document.getElementById().innerHTML = "";

+1

答案可能是不只是把一切都放在單獨的文件,但更動態思考和創造的一些功能,可以做多件事情,而不是寫了很多的做功能* *僅一個東西等 – adeneo

+0

我對JavaScript很新,所以你可以更精確一點嗎? –

回答

1

有三種簡單的方法可以做到這一點:

方案A:從服務器獲取您的innerHTML通過一個AJAX調用 - 類似於

function News() { 
    switchState('News'); 
    document.getElementById("u-content").innerHTML = "Please wait for News to load."; 
    //start AJAX call here 
} 

function AJAXcallOnSuccess() { 
    document.getElementById("u-content").innerHTML = //Result text from AJAX call; 
} 

變體B:讓您的文本在原始頁面中傳遞,但未顯示。類似於

變體B導致最簡單的變體C:在頁面中準備好所有的DIV,但一次只顯示一個。

var activeDiv = null; 

function News() { 
    switchState('News'); 
    if (activeDiv) activeDiv.style.display='none'; 
    activeDiv=document.getElementById("u-content-news"); 
    activeDiv.style.display='block'; 
}