плагин jquery address, мешающий значениям scrollTo - PullRequest
1 голос
/ 16 сентября 2010

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

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

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

Ответы [ 2 ]

1 голос
/ 16 сентября 2010

Взгляните на

$.address.wrap(value)

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

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

$('a').click(function(e){
    e.preventDefault();
    var a = $(this);
    $('html').animate({ scrollTop: 0 }, 100, function () {
        $.address.value(a.attr('href'));
    });
});
0 голосов
/ 17 мая 2013

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

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

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

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

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

обратите внимание на значение: strict = false & wrap = false

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

...