2013-04-25 22 views
0

我目前正在開發自己的投資組合,並且有幾個關於使用哪種架構的問題。使用Javascript修改div內容是整個網站的一個好方法嗎?

目前,我有一個index.html頁面,其中包含我想在有人到達網站時顯示的所有信息。我也有一個/views/文件夾,在其中我有內容的其餘部分(如cv.htmlabout_me.html ...)

當我點擊從我的菜單中選擇一個元素,它加載適當的內容轉換成我的「內容」的div ,使用jQuery。所以用戶總是停留在同一頁面(索引頁面)上,但內容會發生變化。

但是,我試圖使網站提供不同的語言,我想知道如何做到這一點。我想過在我的/views/文件夾中有一個/eng/文件夾,只有英文的HTML內容。然後我會檢查語言是否設置爲英文,以便使用jQuery知道哪些內容包含在頁面中。

但我不知道我會如何做到這一點,該方法有多好,或者使用哪種方法。另外,正在使用Javascript來改變div內容的方式,我做了一個很好的做法?你會推薦什麼 ?

回答

0

我認爲你有一個很好的解決方案。

在你的JavaScript文件中,只需聲明一個具有默認值的語言變量。

var lang = 'eng'; 

加載網頁時:

$('#link').on('click',function(e) { 
    e.preventDefault(); 

    var path_to_load 'views/'+lang+'/'+$(this).attr('href'); 
     // Do normal .load or .ajax here 
}); 

當改變語言你可以有按鈕或鏈接與data-lang-code="eng"data-lang-code="no",或任何你喜歡的。

$('.lang_choices').on('click',function(e) { 
    e.preventDefault(); 

    lang = $(this).data('lang-code'); 
    // Load frontpage for the new language here. 
}); 

編輯:這個解決方案是在您的/views/ -folder在子文件夾不同語言的想法建造。

SUPEREDIT:關於你問的最後一個問題。使用ajax來加載頁面的部分是非常典型的WEB2.0。只要看看Facebook如何做到這一點。更少刷新=更快的加載時間。另外,在使用ajax時,您還有許多簡潔的功能。淡入淡出的內容,讓div有生命的一面和新的內容從另一面「飛」。我試圖儘可能使用Ajax,我認爲合適。除非你的網站是超級複雜的,並且有很多不同的設計(它不像你的問題那樣),我建議留在這個解決方案中。

+0

哇謝謝!我非常喜歡這個解決方案。簡單而有效。 – halpsb 2013-04-26 17:01:04

0

改寫你的問題:「簡單的解決方案是否適用於簡單的問題?」。

不要過度設計。

相關問題