2011-01-17 35 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

from jquery ui – raklos

+0

少し前に、スクロール位置を覚えているクッキーを使った簡単なデモを作った:http://vidasp.net/tinydemos/remember-scroll-position.html –

答えて

0

最初のモーダル(または直前)を開くとき - ページ(document?body?)スクロール位置をいくつかの変数に保存します。 $( "#login-link")。click()関数で、保存した値に設定します。 申し訳ありませんコードはありませんが、基本的には

$(document).scrollTop() 
// or 
$(document.body).scrollTop() 
// or even without the $ function! 
関連する問題