Ajax Address остается Положение прокрутки - PullRequest
1 голос
/ 28 августа 2011

Я использую плагин jquery.address для динамической загрузки моего #content с помощью Ajax.Я также использую некоторые эффекты для загрузки нового #content (то есть старый #content вылетает, новое приходит сверху или сбоку и т. Д.), Но я думаю, что это не проблема ..

Проблема в том, что после запроса ajax позиция прокрутки не сохраняется, и страница возвращается наверх.

Есть ли на этом какой-нибудь плагин / соулмент?Я прочитал это, сохраняя текущую позицию в куки и используя $ ("html, body"). Animate ({scrollTop: x}, t);помог бы.Но нет ли лучшего, возможно, более простого способа сделать это?

Заранее спасибо!

Майк

РЕДАКТИРОВАТЬ

Решено : Обнаружено, что решение (закомментируйте .focus ()):

 // Selects the proper navigation link
 $('#menu a').each(function() {
   //console.log($(this).attr('href'));
     if (($(this).attr('href') == ($.address.state() + event.path)) {
       //$(this).addClass('selected').focus(); // .focus() needs to be commented out in order to prevent to set the focus back to this class
       $(this).addClass('selected');
     }
     else {
       $('#menu ul li').removeClass('current-menu-item');
       $(this).removeClass('selected');
     }
 }); 

1 Ответ

0 голосов
/ 22 сентября 2011

Это связано с IE, мой делает то же самое, но корректно работает в Firefox. AFAIK сохранение позиции и использование scrollTop, как вы это сделали, может быть единственным обходным путем для IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...