получить положение области просмотра в JavaScript в iPhone Safari - PullRequest
2 голосов
/ 16 июня 2009

Я пытаюсь предотвратить прокрутку элемента в сафари на iphone. Я пробовал решения, упомянутые здесь: iPhone Safari: прокрутка списка внутри html-контейнера Но у меня большой список, и он работает не так гладко.

Я имею в виду обнаружение события прокрутки и изменение положения элемента, чтобы он находился в границах области просмотра.

Но я не могу найти способ определить координаты области просмотра. Кто-нибудь может помочь с этим?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 02 июня 2010

Взгляните на iScroll . Если это не то, что вы хотите, вы можете использовать реализацию для справки. Я думаю, хитрость заключается в том, чтобы сделать и event.preventDefault(), и event.stopPropagation(), чтобы не дать мобильному сафари реагировать на сенсорные события.

iScroll родился потому, что мобильный веб-комплект (на iPhone, iPod, Android и Pre) не обеспечивает родной способ прокрутки контента внутри элемент фиксированной ширины / высоты. это неудачная ситуация мешает любому веб-приложение, чтобы иметь позицию: абсолют верхний и нижний колонтитулы и прокрутка центральная зона для содержания.

0 голосов
/ 06 апреля 2011
var viewport_x = window.pageXOffset;
var viewport_y = window.pageYOffset;
0 голосов
/ 26 августа 2009
document.addEventListener(
    'touchmove',
    function touchMove(event) {
        event.preventDefault()
    },
    false
);
...