Метод scrollTo () неправильно работает с Android при добавлении параметров

0

У меня есть этот код, где goUp - это кнопка, а div1 - это то, где я хочу прокручивать, когда кнопка нажата:

$("#goUp").on('click', function(){
var offsetImg = $("#div1").offset(); 
    window.scrollTo(0,offsetImg.top);
})

http://jsfiddle.net/QSJZw/1/

Он работает правильно, и у меня есть в производстве, но когда я иду с Android, он не работает, просто прокручивается до верхней части страницы (тег div1 не находится наверху на веб-странице). Но работает, если я передаю число вместо второго аргумента window.scrollTo(0,70); , Я не могу тестировать разработку с помощью Android, поэтому я хочу помочь выяснить эту проблему.

Мое первое предположение заключалось в том, что offsetImg.top не получил целое число, но он должен. Возможно, я мог бы попробовать parseInt(offsetImg.top), но, похоже, здесь нет смысла.

Рассмотрев другие вопросы, я видел, что это проблема с рендерингом. Однако метод scrollTo() вызывается перед вызовом Ajax (сразу после e.preventDefault();), когда загружается все содержимое. И содержимое div1 не меняется.

Любая идея о том, что здесь может произойти?

Вы можете попробовать на сайте http://itransformer.es. Если вы прикрепляете изображение, при выполнении преобразования submit, окно должно прокручиваться до верхней части изображения.

Теги:
scroll

1 ответ

0

Непроверенный (у него нет телефона Android), но попробуйте заменить window $(document) и используйте scrollTop() вместо scrollTo():

$("#goUp").on('click', function(){
    var offsetImg = $("#div1").offset(); 
    $(document).scrollTop(offsetImg.top);
})

Пример: http://jsfiddle.net/QSJZw/3/

  • 0
    Мне нравится твоя идея. Я постараюсь вернуться.
  • 0
    $("body").scrollTop(offsetImg.top); не работает
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню