2011-09-23 62 views
0

我在主頁上有一個div,我在其上設置了切換效果。這就像擴展文件夾;當您單擊「文件夾」時,它將展開文件夾,以便顯示所有子級文件夾。jquery:如何讓顯示div顯示哪些內容:無,繼續顯示何時加載到另一個頁面?

每個子級文件夾都是超級鏈接。我將文件夾'div'設置爲style="display:none",所以當你第一次加載頁面時,它不會顯示所有的子級文件夾。問題是每當我點擊一個子級文件夾頁面重新加載和文件夾div被隱藏。

如何在顯示狀態指向另一頁時保持顯示狀態。文件夾div在主頁面中。 divid=AppendedFolder

我用下面的代碼,但它不工作:

$(document).ready(function() { 
     if ($('#AppendedFolder').is(":visible")) 
     { 
      $('#AppendedFolder').show(); 
     } 
}); 
+0

你問的是當用戶離開頁面時如何保持文件夾狀態? –

+0

@Interstellar_Coder:是的 –

回答

1

如果你想從一個頁面,你可以在其他頁面中使用保存狀態,你需要它的地方,然後將其保存在其他頁面,檢查該狀態並顯示您想要顯示的對象。

保存此狀態的經典地方是在cookie中。然後,您將在其他頁面中有初始化代碼,檢查Cookie的值,並根據Cookie值決定是否顯示#AppendedFolder

您可以將狀態傳遞到下一頁的其他一些方式是:HTML5本地存儲(僅在較新的瀏覽器中可用)或將查詢參數傳遞到所有後續頁面,以指示此可見性的狀態。

1

如果我正確理解你,你基本上需要重新加載後的頁面,以瞭解哪些文件夾仍然應該展開,是否正確?

在這種情況下,看來你有3點可能的選擇:

  1. 如果某個URL應該始終有特定的文件夾擴大,(如果一些PHP代碼,你可以或)加入一些JS代碼,將根據URL擴展正確的文件夾。
  2. 使用cookie。這將允許您保留上一頁中相同的擴展文件夾。
  3. 任何時候擴展某些文件夾時,都會在頁面上的所有鏈接中添加一個類似「?expandedFolders = xxx」的參數。然後,在加載頁面時,將使用PHP或JS來獲取該參數的值並展開正確的文件夾。這實際上不會實現#2不會做的任何事情,並且腳本的工作肯定會更多,而且可能還有更多工作需要編碼。