/* Set default page positon
* 1. add title style to header
* 2. Set default header/footer position */
- setHeaderFooter: function ( event ) {
- var $elPage = $( event.target ),
+ setHeaderFooter: function ( thisPage ) {
+ var $elPage = $( thisPage ),
$elHeader = $elPage.find( ":jqmData(role='header')" ).length ? $elPage.find( ":jqmData(role='header')") : $elPage.siblings( ":jqmData(role='header')"),
$elContent = $elPage.find( ".ui-content" ),
- $elFooter = $( document ).find( ":jqmData(role='footer')" ),
+ $elFooter = $elPage.find( ":jqmData(role='footer')" ),
$elFooterGroup = $elFooter.find( ":jqmData(role='fieldcontain')" );
// divide content mode scrollview and non-scrollview
// This method is meant to disable zoom while a fixed-positioned toolbar page is visible
$el.closest( ".ui-page" )
.bind( "pagebeforeshow", function ( event ) {
+ var thisPage = this;
if ( o.disablePageZoom ) {
$.mobile.zoom.disable( true );
}
if ( !o.visibleOnPageShow ) {
self.hide( true );
}
- self.setHeaderFooter( event );
- self._setContentMinHeight( event );
+ self.setHeaderFooter( thisPage );
+ self._setContentMinHeight( thisPage );
} )
.bind( "webkitAnimationStart animationstart updatelayout", function ( e, data ) {
var thisPage = this;
if ( o.updatePagePadding ) {
self.updatePagePadding(thisPage);
- self.updatePageLayout(data);
+ self.updatePageLayout( false, thisPage);
}
})
.bind( "pageshow", function ( event ) {
var thisPage = this;
- self._setContentMinHeight( event );
- self.updatePagePadding(thisPage);
- self._updateHeaderArea();
+ self._setContentMinHeight( thisPage );
+ self.updatePagePadding( thisPage );
+ self._updateHeaderArea( thisPage );
if ( o.updatePagePadding ) {
$( window ).bind( "throttledresize." + self.widgetName, function () {
self.updatePagePadding(thisPage);
- self.updatePageLayout();
- self._updateHeaderArea();
- self._setContentMinHeight( event );
+ self.updatePageLayout( false, thisPage);
+ self._updateHeaderArea( thisPage );
+ self._setContentMinHeight( thisPage );
});
}
})
} else if (e.state == "off") {
$elCurrentFooter.show();
}
- self.updatePagePadding( thisPage, e.state );
+ self.updatePagePadding( thisPage );
+ self.updatePageLayout( true, thisPage );
});
},
});
},
- _setContentMinHeight : function ( event ) {
- var $elPage = $( event.target ),
+ _setContentMinHeight : function ( thisPage ) {
+ var $elPage = $( thisPage ),
$elHeader = $elPage.find( ":jqmData(role='header')" ),
$elFooter = $elPage.find( ":jqmData(role='footer')" ),
$elContent = $elPage.find( ":jqmData(role='content')" ),
$elContent.css( "min-height", resultMinHeight - parseFloat( $elContent.css("padding-top") ) - parseFloat( $elContent.css("padding-bottom") ) + "px" );
},
- _updateHeaderArea : function () {
- var $elPage = $( ".ui-page-active" ),
+ _updateHeaderArea : function ( thisPage ) {
+ var $elPage = $( thisPage ),
$elHeader = $elPage.find( ":jqmData(role='header')" ).length ? $elPage.find( ":jqmData(role='header')") : $elPage.siblings( ":jqmData(role='header')"),
headerBtnNum = $elHeader.children("a").length,
headerSrcNum = $elHeader.children("img").length;
_visible: true,
// This will set the content element's top or bottom padding equal to the toolbar's height
- updatePagePadding: function ( tbPage, imestatus ) {
+ updatePagePadding: function ( tbPage ) {
var $el = this.element,
header = $el.siblings( ".ui-header" ).length,
footer = $el.siblings( ".ui-footer" ).length;
if ( this.options.fullscreen && imestatus ) { return; }
tbPage = tbPage || $el.closest( ".ui-page" );
- if ( imestatus == "on" ) {
- $el.height( window.innerHeight - $el.siblings( ".ui-header" ).height() -
- parseFloat( $el.css("padding-top") ) -
- parseFloat( $el.css("padding-bottom") ) );
- }
+
if ( $el.siblings( ".ui-header" ).jqmData("position") == "fixed" || $.support.scrollview ) {
$( tbPage ).css( "padding-top", ( header ? $el.siblings( ".ui-header" ).outerHeight() : 0 ) );
}
$( tbPage ).css( "padding-bottom", ( footer ? $el.siblings( ".ui-footer" ).outerHeight() : 0 ) );
-
},
/* 1. Calculate and update content height */
- updatePageLayout: function ( receiveType ) {
+ updatePageLayout: function ( receiveType, thisPage ) {
var $elFooter,
- $elPage = $( document ).find( ".ui-page-active" ),
+ $elPage = $( thisPage ),
$elHeader = $elPage.find( ":jqmData(role='header')" ),
$elContent = $elPage.find( ":jqmData(role='content')" ),
resultContentHeight = 0,
resultHeaderHeight = 0;
if ( $elPage.length ) {
- $elFooter = $( document ).find( ".ui-page-active" ).find( ":jqmData(role='footer')" );
+ $elFooter = $elPage.find( ":jqmData(role='footer')" );
} else {
$elFooter = $( document ).find( ":jqmData(role='footer')" ).eq( 0 );
}