Плагин адреса jquery, мешающий значениям scrollTo

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

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

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


person jan    schedule 16.09.2010    source источник


Ответы (2)


Взгляни на

$.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'));
    });
});
person fehays    schedule 16.09.2010
comment
привет фейс! тот работает немного, но не полностью. Прокрутка не анимирована, а просто переходит к тегу привязки, если я принудительно задаю значение параметра a для точных имен или идентификаторов привязки. Я не знаю, какое точное значение присвоить тегу a, так как href всех моих тегов «a» имеет следующий формат: href='#page?methodcall=aboutus&partnerid=123'... поэтому, когда $.address.change называется параметрами, которые передаются функции ajax для извлечения страницы... (wrap уже =1), тогда прокрутка просто больше не происходит... надеюсь, что вы все еще можете помочь, поскольку адрес плагина jquery кажется очень хорошее средство для меня! Спасибо ! - person jan; 18.09.2010
comment
этот вопрос до сих пор не решен, если у кого-то есть такая же проблема, пожалуйста, напишите! Благодарность! - person jan; 20.09.2010

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

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

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

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

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

обратите внимание на ?strict=false&wrap=false

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

person Agey    schedule 17.05.2013