2011-01-17 3 views
1

사용자가 인증되지 않고 무언가를 클릭하면 인증 된 사용자 만이 작업을 수행하도록 로그인해야한다는 모달 대화 상자를로드하고 있습니다.jquery가 모달 대화 상자의 스크롤 위치를 유지합니다.

모달에는 클릭 할 때 로그인 양식으로 모달 대화 상자를로드하는 링크가 있습니다. 괜찮 작동

$("#login-link").click(function() { 
     $("#dialog-unauthenticated").dialog("close"); 
     var x = $(this).position().left + jQuery(this).outerWidth(); 
     var y = $(this).position().top - jQuery(document).scrollTop(); 
     $("#dialog-form").dialog("open",{position:[x,y]}); 

    }); 

, 유일한 문제는 페이지가 스크롤 위치를 유지하지 않는다는 것입니다 :

이 내가 가지고있는 것입니다. 대화 상자가 올바른 위치에로드됩니다.

어떻게 페이지 스크롤 위치를 최상위로 스크롤하는 대신 유지할 수 있습니까?

+0

'.dialog'는 어떤 플러그인입니까? – mVChr

+0

그것의 jquery ui – raklos

+0

얼마 전에 스크롤 위치를 기억하기 위해 쿠키를 사용하는 간단한 데모를 만들었습니다 : http://vidasp.net/tinydemos/remember-scroll-position.html –

답변

0

첫 번째 모달을 열 때 (또는 직전에) 페이지 (document.body?) 스크롤 위치를 일부 변수에 저장합니다. $ ("# login-link"). click() 함수에서 저장 한 값으로 설정하십시오. 죄송합니다. 코드가 없지만 basicall입니다.

$(document).scrollTop() 
// or 
$(document.body).scrollTop() 
// or even without the $ function! 
관련 문제