2010-09-16 2 views
1

Я построил веб-сайт, основанный на ajax, который использует плагин jquery адреса для обратной совместимости браузера браузера. Тем не менее, поскольку страницы извлекаются с помощью страницы ajax, обычное обновление страницы не является очевидным и скорее дезориентирует с точки зрения навигации пользователя и т. Д. Пользователь нажимает ссылку, ajax извлекает страницу, хотя успешно и страница выведена на экран, экран не будет отображаться сверху страницы, особенно когда окно длиннее и щелкнуло ссылку, было в самом низу исходной страницы. Как будто ничего не изменилось. Я попытался использовать scrollTo-плагин, но значение scrollTop окна при тестировании равно 0 и ноль все время, удалив адресный плагин, теперь значение scrollTop читается.Плагин адрес jquery, интерферирующий с scrollTo значениями

Кто-нибудь сталкивался с той же проблемой?

Спасибо заранее!

ответ

1

Посмотрите на

$.address.wrap(value) 

http://www.asual.com/jquery/address/docs/#api-reference

Или вы можете использовать JQuery одушевленные для прокрутки вверх. То, что я сделал раньше, - это оживить прокрутку, а затем изменить значение $ .address.value. Как это:

$('a').click(function(e){ 
    e.preventDefault(); 
    var a = $(this); 
    $('html').animate({ scrollTop: 0 }, 100, function() { 
     $.address.value(a.attr('href')); 
    }); 
}); 
+0

привет fehays! что один работает немного, но не полностью. Без анимированных прокрутки, но просто перескакивает на якорный тег, если я заставляю значение параметра a для точного имени якоря или идентификаторов. Я не знаю, какое точное значение нужно добавить в тег, поскольку все мои «теги» href имеют такой формат: href = '# page? Methodcall = aboutus & partnerid = 123' ... так что, когда $ .address.change называется параметрами, передаваемыми в функцию ajax для извлечения страницы ... (wrap уже = 1), тогда прокрутка не просто происходит больше ... надеюсь, что вы все равно можете помочь, хотя адресный плагин jquery кажется очень хороший инструмент для меня! Благодаря ! – jan

+0

этот вопрос все еще не решен, если кто-то там имеет такую ​​же проблему, пожалуйста, напишите! благодаря! – jan

+0

См. Мое редактирование. Я думаю, вы можете использовать preventDefault() – fehays

0

У меня была точно такая же проблема, попробовал несколько способов прокрутки вверх и я в конечном итоге удаление прокрутки верхней кнопки.

Теперь я тестировал свой сайт с помощью iphone (с помощью бутстрапа отзывчивого), и я узнал, что будет отображаться только верхняя часть страницы, и я не смог прокручивать вообще.

Обе проблемы, похоже, связаны с опцией обертки, которая делает что-то странное на странице.

Что я сделал, чтобы исправить это, чтобы добавить некоторые дополнительные параметры при импорте файла jquery.address.js на странице:

<script type="text/javascript" src="/script/jquery-address/jquery.address.js?strict=false&wrap=false"></script> 

уведомления неукоснительной = ложь & обертки = ложь

Кажется, это работает для меня :) Надеюсь, это поможет!