作爲一個不同的HTML層實現每個標籤會更好嗎? 有按鈕控制哪個圖層顯示在頂部? 改爲在按下按鈕時按下按鈕(重新)生成HTML:
我彎下身子朝後生成的內容和顯示/隱藏它的需求,特別是如果大多數工作在瀏覽器中完成,並有與頁面上的元素進行交互時,服務器正在進行不同步請求。 見腳註1
當顯示選項卡的內容...
假設每個選項卡的內容快速生成,可以使你的應用程序更有效率僅在請求時創建選項卡的內容第一次。這樣,如果該選項卡從未被訪問過,則不會使用任何資源。
當隱藏選項卡的內容...
當與多媒體工作,你可能需要在你隱藏的內容執行其他操作。例如,視頻不會因爲隱藏而停止播放。對於您的音頻應用程序,您可能需要停止播放當前序列。
有許多選項卡控件可用,如jQuery UI tabs(免費)和Sliding Tabs(許可但便宜)。
其他場景
標籤應該用於像文件(如瀏覽器選項卡)和/或經常使用的功能(例如其對聯繫人信息的標籤人事表格內容主要模塊,另一個是就業之間切換歷史)。其他場景可能更適合對話(模態或非模態)。
使用音頻例如,如果您有標有「節奏」的按鈕,我希望它在我的當前視圖的頂部開了一個小對話框窗口,而不是帶我去一個新的標籤。羅蘭的workstation keyboards使用這種範例。主要內容替換當前視圖,但設置/配置窗口通常會彈出在現有視圖上。
jQuery UI還具有用於此目的的對話插件。如果您的JavaScript精通並針對較新的瀏覽器,那麼編寫您自己的簡單對話框並不難。在飛行
1生成內容仍可以與交互式客戶端 - 服務器關係完全可以接受的,但它引入了額外的考慮因素,例如什麼是與所述服務器上的數據模型中的瀏覽器的同步(如果有的話),不需要的表單字段(增加請求的大小),整體頁面大小等
樂趣演示的感謝! – kaveman 2012-04-25 19:20:13
這是一個非常酷的演示,只是fyi。花了10分鐘玩它。 +2,如果我可以的話,看起來像是在某個地方。 – 2012-04-25 20:04:49