iScroll - захаванне роднай вертыкальнай прагорткі - працуе ў ІА, ня Android

Я выкарыстоўваю iScroll.js пракручваць карусель элементаў на старонцы для мабільных прылад. Я знайшоў наступнае выпраўленне, праслухоўвае для вертыкальнага перасоўвання і спыняе сцэнар iScroll узяўшы пад свой кантроль, дазваляючы родную вертыкальная пракрутка адбываецца:

        onBeforeScrollStart: function(e) {
        try {
            point = e.touches[0];
            pointStartX = point.pageX;
            pointStartY = point.pageY;
        } catch(e) {}
        null;
    },
    onBeforeScrollMove: function(e) {
        try {
            deltaX = Math.abs(point.pageX - pointStartX);
            deltaY = Math.abs(point.pageY - pointStartY);
            if (deltaX >= deltaY) {
                e.preventDefault();
            } else {
                null;
            }
        } catch(e) {}
    }

Я выкарыстоўваю TRY {} злавіць {}, як гэта было некалькі праблем пры тэставанні ў браўзэры (скардзіўся пункт не вызначана).

Праблема ў мяне ў тым, што ён добра працуе на IOS, пратэставаная на некалькіх I-прылад, але на Android гэта не так добра. Калі карыстальнік спрабуе пракруціць старонку па вертыкалі, пачынаючы ад размяшчэння пальца на каруселі, старонка не пракручваецца як iScroll ўсё яшчэ мае кантроль.

Любая ідэя, як я магу прымусіць яго працаваць на Android, або якія-небудзь паказальнікі ў бок, дзе ён можа быць няправільна?

змяніць:

Некаторыя адладкі, і я выявіў, магчыма, чаму гэта не працуе. Каардынаты абнаўляюцца, калі карыстальнік тычыцца экрана на прашыўцы, але на Android, толькі першы набор каардынатаў ловяцца. Любая ідэя, чаму гэта будзе?

7
Вы спрабавалі выкарыстаць myScroll.disable() і myScroll.enable() ?
дададзена аўтар Adam Storr, крыніца

2 адказы

The creator of iScroll actually has a port that seems to work exactly as you describe by paging horizontally and still allowing vertical scrolling. https://github.com/cubiq/2-way-iScroll

0
дададзена

Вам не здаецца, ёсць "кропка" ў вашай вобласці для onBeforeScrollMove. Акрамя таго, некаторыя Android прылада можа выклікаць падзея націску больш мультытач (я не магу пацвердзіць гэта, але толькі тэарэтызаваць з-за фрагментацыі платформы)

У мяне ёсць добры сцэнар, які я буду рилизинг хутка, які прымае падзеі націску і імітуе унікальны мультытач падзеі з дапамогай «мышы» у якасці ўласцівасці ідэнтыфікатар дотыку, які можа быць некаторай дапамогі ж/адладкі. Я паспрабую, каб праект на сайце заўтра ўвечары.

Гэта звязана ў шэраг абнаўленняў і праектаў, якія будуць дададзеныя, але вось спасылка:

https://github.com/skhameneh

EDIT: Карэкцыя, вы нават абнаўленне «кропкі»? Гэта, здаецца, быць абмежаваная за межамі гэтай частцы кода і зменены ст. Можа быць карысна, калі вы выклалі астатнюю частку вашага кода.

0
дададзена