2012-09-20 5 views
1

참조되는 데모 페이지는 here입니다.JScrollPane 동적 높이

상위 카테고리 클릭 (예 : Stone Tiles, Stone Sinks)에서 JScrollPane이 현재 높이를 다시 결정하고 필요에 따라 조정하는 방식을 결정하려고합니다. 불행히도 그렇게하려는 나의 시도는 아직 효과가 없습니다.

나는 다음과 같은 기능을 (새로 고침을 수행 할 작업)에서 제공하는 예를 here ...

api.reinitialise(); 

내가 설정에과 같이 카테고리 부모에 의해 유발되는이 기능을 해봤를 참조 ... 내가 렌더링되는 클릭을 확인할 수있는 동안

var pane = $('.menuwrap') 
pane.jScrollPane(); 
var api = pane.data('jsp'); 
var i = 1; 

$("li.expandable.parent").click(function() { 
api.reinitialise(); 
}); 

불행하게도, 함수 (api.reinitialize)가 작동하는 표시되지 않습니다. 나는 신선한 쌍둥이가 나를 올바른 방향으로 인도 할 수 있기를 바라고있다. :-)

고마워요!

답변

1

문제는 api.reinitialise가 클릭 직후에 실행되고 li 요소가 아직 확장되지 않았기 때문에 jscroll 창이 높이를 다시 계산하기 위해 이동하면 문제가 발생한다는 것입니다. 지연을 추가 할 수는 있지만 가장 좋은 해결책은 목록 확장이 끝나면 트리거되는 이벤트에 api.reinitialise()를 바인딩하는 것입니다. li에서 div를 어떻게 확장하는지 잘 모르겠지만, 예를 들어 .animate를 사용하는 경우 api.reinitialise를 애니메이션 완료 이벤트에 바인딩 할 수 있습니다.

부모님의 모든 부모가 부모님과 연결되어있는 것은 아닙니다. 패널이 모든 주요 li 요소의 확장 및 축소시 다시 초기화되기를 기대합니다.

희망 하시겠습니까?

건배 :)

0

은 당신이 할 수있는 것은 아니라 직접 CSS보다, 당신의 내면의 div가 기본적으로 확대하고 jQuery로를 종료합니다.

그래서 그 대신이 일을 :

.mydiv.closed {display:none} 

요소가 페이지로 그려 후 JQuery와에서이 작업을 수행 :이 다음 필요한 높이에 JScrollPane의를로드 할 것이다

$('.mydiv.closed').hide(); 

처음에는 숨기고 싶은 것을 접습니다.