Issue description
If you navigate to a page with a fixed header using a transition, the page padding is calculated after the transition ends. This causes the page content to move suddenly.
Test page
Here's a test page. I took the latest CSS and replaced all occurrences of "ms;" with "0ms;". Therefore all transitions are ten times slower.
Open the page and click a button. There's a button for each transition. I think "Slide" gives a good view of the problem.
Closely look at the content of the second page when the transition ends. You'll see that it moves down a few pixels.
Platforms/browsers and devices tested
- Safari 6.0.2 on Mac OS X 10.8.2 (MacBook Pro, Mid 2012).
- Chrome 24.0.1312.52 on Mac OS X 10.8.2 (MacBook Pro, Mid 2012).
- Firefox 18.0 on Mac OS X 10.8.2 (MacBook Pro, Mid 2012). More strange things happening during transition here.
- Safari on iOS 6.0.2 (iPad mini).
jQuery Mobile and jQuery core version used
- JS Bin test page: jQuery Mobile latest and jQuery 1.8.3.
Other relevant information
The issue does not happen when you navigate to a page stored in the DOM for the second time, because the padding is already known in that situation. Because of that you should restart my test page after trying.
The issue happens also when there's a navbar in the header. The effect is even worse.
It seems like the method _handleAnimationStart on line 108 of js/widgets/fixedToolbar.js never gets called, probably due to wrong events stated on line 92 of the same file.