Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scrolling inside a div which is not in the fullpage.js wrapper not possible on IOS #2614

Closed
NONNNNN opened this issue Mar 16, 2017 · 12 comments

Comments

@NONNNNN
Copy link

NONNNNN commented Mar 16, 2017

Description

I have a Fullpage.js wrapper and a special overlay or footer wrapper. My problem now is, that i can't scroll the content inside the footer div on IOS. It works on Android (Chrome) and all major browsers, but not on IOS (Iphone and Ipad).
Any ideas how i can get this to work? As soon as i destroy fullpage, it works like a charm. So i think there are some problems with the bubbeling of touchevents in IOS.

Maybe you can provide something like a "disable fullpage events" and "enable fullpage events" method without destroy fullpage itself :)

Link to isolated reproduction with no external CSS / JS

https://jsfiddle.net/t5eu2hdc/9/

Steps to reproduce it

  1. Open the Fiddle on IOS
  2. Try to Scroll the Text in the white box on the bottom

Versions

Actual fullpage.js @ 2.9.4
IOS Devices with versions 9.x /10.x (lower versions not testet). Used an older Ipad 3 and an Iphone 7 Plus.

@alvarotrigo
Copy link
Owner

alvarotrigo commented Mar 16, 2017

Maybe you can provide something like a "disable fullpage events" and "enable fullpage events" method without destroy fullpage itself :)

Use destroy() for that.
Or just use $.fn.fullpage.setAllowScrolling(false).

Duplicate of #1912

@NONNNNN
Copy link
Author

NONNNNN commented Mar 16, 2017

@alvarotrigo Thank you for the answer. But unfortunately it didn't work. I still can't scroll on ios devices. When i use destroy() it also removes the translate3d values, which i need in this moment (i just destroy when the footer is open, and rebuild after close, so the user dosent see any changes).

Thanks.

@alvarotrigo
Copy link
Owner

alvarotrigo commented Mar 16, 2017

The destroy feature won't scroll your page at all. Not if you just use $.fn.fullpage.destroy() with no parameter all. It will remove the translate3d, but it will keep the site in its place.
It just turns autoScrolling to false enabling the scroll bar as in any site, but the active section should stay in the viewport.

@alvarotrigo
Copy link
Owner

Try using normalScrollElements anyways.

@NONNNNN
Copy link
Author

NONNNNN commented Mar 16, 2017

As you can see in this fiddle, it is still not possible to scroll inside the div, even if i move the footer inside the fullpage wrapper and set normalscrollements and fixedelements to .footer

@alvarotrigo
Copy link
Owner

alvarotrigo commented Mar 16, 2017

Try to reproduce the issue in your site in an isolated page. Dealing with iframes in jsfiddle is far from perfect.

@NONNNNN
Copy link
Author

NONNNNN commented Mar 16, 2017

You can find an exact copy of the fiddle code on my site here. it's still not possible to scroll on IOS.

@alvarotrigo
Copy link
Owner

alvarotrigo commented Mar 16, 2017

Remove <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/2.9.4/jquery.fullpage.js"></script> . You only need to include fullpage.js once and you are doing it with jquery.fullpage.extensions.min.js

@alvarotrigo
Copy link
Owner

Not an easy solution.
I would suggest you to use css3:false and place the element within the fullPage.js wrapper.

Then use normalScrollElements.

Other than that... you would have to modify the library and change a few things as suggested in this comment.

@alvarotrigo
Copy link
Owner

Also, use a higher value in normalScrollElementTouchThreshold just in case. Go for 10 or so.

@NONNNNN
Copy link
Author

NONNNNN commented Mar 20, 2017

Hey Alvaro
Unfortunately, nothing suggested by you worked in my case. So i moved over to IScroll for scrolling on IOS devices. Now it works pretty good. For Android and normal browsers i can still use the native scrolling.

Do you know why just IOS dont get the events for scrolling?

@alvarotrigo
Copy link
Owner

@NONNNNN probably because of the call to this function.
Necessary for fullPage.js in iOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants