2011-09-23 2 views
0

masterpage에 div이 있는데 토글 효과를 설정했습니다. 확장 폴더와 같습니다. "폴더"를 클릭하면 모든 하위 수준 폴더가 표시되도록 폴더가 확장됩니다.jquery : div 표시 방법 : none, 다른 페이지로로드 할 때 계속 표시?

각 하위 수준 폴더는 하이퍼 링크입니다. 나는 'div'폴더를 style="display:none"으로 설정 했으므로 처음 페이지를로드 할 때 모든 하위 레벨 폴더가 표시되지 않습니다. 문제는 페이지가 다시로드되고 폴더 div이 숨겨진 하위 수준 폴더를 클릭 할 때마다 발생합니다.

다른 페이지로 이동하면 이미 표시된 상태로 유지하는 방법을 유지하는 방법. div 폴더는 masterpage에 있습니다. divid=AppendedFolder입니다.

나는 코드를 다음 사용했지만 작동하지 않습니다 : 당신은 당신이 다른 페이지에서 사용할 수있는 하나의 페이지에서 상태를 저장하려면

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

사용자가 페이지에서 벗어날 때 폴더 상태를 유지하는 방법을 묻는 질문이 있으십니까? –

+0

@Interstellar_Coder : 예 –

답변

1

, 당신은 다른 어딘가에 다음 그것을 저장해야 페이지에서 해당 상태를 확인하고 표시하려는 객체를 표시하십시오.

이 상태를 저장하는 고전적인 장소는 쿠키입니다. 그런 다음 다른 페이지에 쿠키의 값을 검사하고 쿠키 값에 따라 #AppendedFolder을 표시할지 여부를 결정하는 초기화 코드를 갖습니다.

상태를 다음 페이지로 전달할 수있는 다른 방법은 HTML5 로컬 저장소 (최신 브라우저에서만 사용 가능) 또는이 가시성 상태를 나타내는 모든 후속 페이지에 쿼리 매개 변수를 전달하는 것입니다.

1

정확하게 이해했다면, 다시로드 한 후 페이지가 있어야 어떤 폴더가 여전히 확장되어야하는지 알 수 있습니까? 그 것이다 (일부 PHP 코드 당신이 할 수있는 경우 나) 일부 JS 코드를 추가, 특정 URL은 항상 특정 폴더를 확장해야하는 경우

  1. :이 경우

    는, 당신이 3 가지 옵션이 보인다 URL을 기반으로 올바른 폴더를 확장하십시오.
  2. 쿠키를 사용하십시오. 이렇게하면 이전 페이지에서 확장 된 동일한 폴더를 유지 관리 할 수 ​​있습니다.
  3. 일부 폴더가 확장 될 때마다 페이지의 모든 링크에 "? expandedFolders = xxx"와 같은 매개 변수를 추가하십시오. 그런 다음 페이지로드시 PHP 또는 JS 중 하나를 사용하여 해당 매개 변수의 값을 가져오고 올바른 폴더를 확장합니다. 이것은 실제로 # 2가하지 못할 일을 성취하지 못할 것이며 스크립트가 할 일이 많을 것이고 코드 작성을 위해 더 많은 노력을 기울일 것입니다.
관련 문제