2014-06-24 2 views
3

처음으로 게시 :-) 나는 어디에서나 답을 찾아 보았으므로 찾을 수 없습니다. 나는 jQuery 전문가는 아니지만 내 길을 찾는다.PopEasy 모달 창에서 JScrollPane (사용자 정의 스크롤 막대)

PopEasy : http://thomasgrauer.com/popeasy 가 JScrollPane : 나는 JSscrollPane가 PopEasy 모달 창 내부 작업을 얻으려고 http://jscrollpane.kelvinluck.com/index.html

. 용어가 꺼져있을 수도 있지만 모달로드 후에 초기화해야한다고 생각합니다. 여기

이 PopEasy의 조동사의 코드입니다 : 기본적으로 당신은 링크와 모달 쇼를 클릭 : 나는 믿고있어

$('.scroll-pane').jScrollPane(); 

을 (그리고 희망 :

$('.modalLink').modal({ 
    trigger: '.modalLink', 
    olay:'div.overlay', 
    modals:'div.modal', 
    animationEffect: 'fadeIn', 
    animationSpeed: 300, 
    moveModalSpeed: 'slow', 
    openOnLoad: false, 
    docClose: true, 
    closeByEscape: false, 
    moveOnScroll: false, 
    resizeWindow: true, 
    close:'.close-button' 
}); 

보통을, JScrollPane의는 단지 것) 대답은 간단하고 나는 무언가를 놓치고 있습니다. 그러나 나는 완전히 이해하지 못하는 것을 시도해 보았습니다. :

jQuery(document).on('click','.modalLink',function($){ 
    $('.right-side').jScrollPane({}); 
}); 

도움이 필요 :-(

고마워!

답변

1

jScrollPane은 초기화시 컨테이너를 계산하기 때문에 모달이로드 된 후 콜백을위한 API가 없기 때문에 모달이로드 된 후에 init/reinit를 수행하려고합니다. 약간 까다 롭습니다.

쉬운하지만 가난한 방법 아웃과 같이, 시간 제한을 추가하는 것입니다

jQuery(document).on('click','.modalLink',function($){ 
    setTimeout(function(){ 
     $('.right-side').jScrollPane({}); 
    }, 500); 
}); 

대안은 애니메이션이 완료되면 콜백을 실행 popeasy 콜백 기능을 추가하는 것입니다. 당신이 reinitsialize해야하는 경우 은 그렇게 같이 JScrollPane의 API에 액세스 할 필요가 : 대답에 대한

$(function() { 
    var pane = $('.right-side'); 
    pane.jScrollPane({}); 
    var api = pane.data('jsp'); 

    jQuery(document).on('click','.modalLink',function($){ 
     setTimeout(function(){ 
      api.reinitialise(); 
     }, 500); 
    }); 
}); 
+0

아드리안, 감사합니다! 그것은 완전히 나를 도왔다. 나는 전에 코멘트를 남긴 줄 알았지 만 삭제되었거나 뭔가가있어? 어쨌든 ... 나는 지금 같은 사이트에서 비슷한 문제를 겪고있다 ... 스크롤이있는 모달 창을 연결하는 이전 단추와 다음 단추가있다. 한 예로 detroitdriven.org/leadership이 있습니다. 모달을 얻으려면 이미지를 클릭하십시오. 오른쪽 상단에 화살표가 표시됩니다. 나는 동일한 클릭 기능을 시도했지만 작동하지 않았다 ... 어떤 생각? –

+0

같은 문제인 것처럼 보입니다. 다음/이전을 클릭하면 스크롤을 다시 시작합니까? –

+0

클래스가 동일한 경우 보낸 코드 스 니펫과 동일한 코드를 사용해서는 안됩니까? –

관련 문제