[JS] Scrollbar iPhone Safari browser

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 406704

Topicstarter
Ik heb een probleem met de safari browser op een iPhone. Ik wil het huidig aantal pixels ophalen wat naar beneden gescrolld is, dit doe ik aan de hand van deze code:

code:
1
2
3
addEventListener('scroll', function() {
alert (window.pageYOffset);
}


Het werkt perfect in alle browsers, er is alleen 1 klein probleempje op de iPhone, namelijk dat hij pas begint te tellen als de address bar voorbij gescrollt is. Dit zorgt er dus voor dat als de pagina geladen is en je een klein beetje naar beneden scrollt hij 0 returnt wat dus eigenlijk bijvoorbeeld 1 zou moeten returnen. Voorbij de addresbar zijn de gegevens goed.

jQuery code geprobeerd, geeft hetzelfde resultaat, ook als ik 'window.scrollY' gebruik. Hide van de address bar aan/uit gezet maar daarbij kan je natuurlijk gewoon weer omhoog scrollen tot je hem ziet en dan heb ik weer hetzelfde probleem. Ik zit op een iOS5. Iemand enig idee hoe ik dit fix?

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Waarom zou je dit willen, en verandert window.height of window.innerHeight niet?

Acties:
  • 0 Henk 'm!

Anoniem: 406704

Topicstarter
Die veranderen wel en ik wil dit omdat ik een div wil laten meescrollen met de pagina. Dit moet pas getriggerd worden als de scroll losgelaten is en daar zorgt de scroll functie zelf voor op de safari browser.

Acties:
  • 0 Henk 'm!

Anoniem: 406704

Topicstarter
Gefixt! Gewoon even als de pagina geladen is een startY var maken waarbij je de scrollY optelt bij de innerHeight:

code:
1
var startY = window.scrollY + window.innerHeight;


Vervolgens om de afstand tot de top te bepalen:

code:
1
2
3
addEventListener('scroll', function() {
alert (window.scrollY + window.innerHeight - startY);
});

[ Voor 9% gewijzigd door Anoniem: 406704 op 13-11-2011 11:47 ]