如何在jQuery Mobile中使用固定标题工具栏设置(selectmenu)叠加层的偏移量?

时间:2011-10-21 10:51:38

标签: css jquery-mobile offset select-menu

有没有办法定义JQM用于selectmenu叠加的偏移量?

其他选项可以通过原型设置如下:

$.mobile.page.prototype.options.addBackBtn   = true;
$.mobile.page.prototype.options.backBtnTheme = "a";

问题描述

jQuery Mobile确定屏幕的大小,并决定如何显示选择菜单的叠加层。不幸的是,这似乎只是在不使用固定标题工具栏的情况下工作,因为JQM生成的源始终位于顶部偏移量为30px style="left: 741.65px; top: 30px;

没有办法只用CSS覆盖它,因为css规则的特殊性总是低于style-attribute的特性!

我不想更改JQM源代码,因为我必须在每次发布时再次更改它。我不使用未压缩的来源。

从JQM生成的源

<div class="ui-selectmenu ui-overlay-shadow ui-corner-all ui-body-a pop in"
     style="left: 741.65px; top: 30px;">

样品

http://jsfiddle.net/V8AAB/

JQM源代码

这是来自jQuery Mobile 1.0RC2的相应代码:

self.menuType = "overlay";

self.screen.height( $(document).height() ).removeClass( "ui-screen-hidden" );

// Try and center the overlay over the button
var roomtop = btnOffset - scrollTop,
    roombot = scrollTop + screenHeight - btnOffset,
    halfheight = menuHeight / 2,
    maxwidth = parseFloat( self.list.parent().css( "max-width" ) ),
    newtop, newleft;

if ( roomtop > menuHeight / 2 && roombot > menuHeight / 2 ) {
    newtop = btnOffset + ( self.button.outerHeight() / 2 ) - halfheight;
} else {
    // 30px tolerance off the edges
    newtop = roomtop > roombot ? scrollTop + screenHeight - menuHeight - 30 : scrollTop + 30;
}

1 个答案:

答案 0 :(得分:1)

建议修复:

.ui-selectmenu { z-index: 1100 !important; }