Jquery mobile “如何制作jqm”;“加载微调器”;满屏
jquerymobile提供了一个简单的加载器,但它不提供在加载过程中禁用页面上元素的方法 我的愿望清单: 1-如果$.mobile.loading方法提供了覆盖主题选项(如jqm弹出窗口) 2-如果$.mobile.loading方法接受了要将微调器放入的目标元素,例如设置为全屏的Jquery mobile “如何制作jqm”;“加载微调器”;满屏,jquery-mobile,Jquery Mobile,jquerymobile提供了一个简单的加载器,但它不提供在加载过程中禁用页面上元素的方法 我的愿望清单: 1-如果$.mobile.loading方法提供了覆盖主题选项(如jqm弹出窗口) 2-如果$.mobile.loading方法接受了要将微调器放入的目标元素,例如设置为全屏的 $.mobile.loading( 'show', { text : "loading" , textVisible : true ,
$.mobile.loading( 'show', { text : "loading" ,
textVisible : true ,
theme : 'b' ,
html : ""
}) ;
.ui-loader .ui-icon-loading {
background-color: #000;
display: block;
position: absolute;
top: 50%;
left: 50%;
margin-left: -1.375em;
margin-top: -1.375em;
width: 2.75em;
height: 2.75em;
padding: .0625em;
-webkit-border-radius: 2.25em;
border-radius: 2.25em;
}
.ui-loader-default {
background: none;
filter: Alpha(Opacity=18);
opacity: .18;
}
.ui-loader {
display: none;
z-index: 9999999;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border:0;
}
但是,我想避免使用这样的解决方案,即我必须创建自己的
,并单独切换它,但要与$.mobile.load('show/hide',…)调用同步,如此所示。在Firebug中使用ui loader类一段时间后,我最终放弃了这种方法,决定使用全屏div方法:
//-------------------------------------------------
var gvn_loader_bg_class = "jqm_loader_bg" ;
//--------------------------------------------------
function gf_jqm_loader_setup()
{
var lvo_loader = jQuery( ".ui-loader" ) ;
var lvi_loader_z = lvo_loader.css('z-index') ;
var lvs_style = "" ;
lvs_style += "position : fixed ;" ;
lvs_style += "left : 0% ;" ;
lvs_style += "top : 0% ;" ;
lvs_style += "width : 100% ;" ;
lvs_style += "height : 100% ;" ;
lvs_style += "background-color : white ;" ;
lvs_style += "opacity : .3 ;" ;
lvs_style += "display : none ;" ;
lvs_style += "z-index : " + ( lvi_loader_z - 1 ) + " ;" ;
lvo_loader.before( "<div class='" + gvn_loader_bg_class + "' style='" + lvs_style + "'></div>" ) ;
}
//-------------------------------------------------
function gf_toggle_jqm_loader( argb )
{ if( argb )
{ jQuery.mobile.loading( 'show') ;
jQuery( "." + gvn_loader_bg_class ).css( 'display' , 'block' ) ;
}
else
{ jQuery.mobile.loading( 'hide') ;
jQuery( "." + gvn_loader_bg_class ).css( 'display' , 'none' ) ;
}
}
//-------------------------------------------------
var gvn_loader_bg_class=“jqm_loader_bg”;
//--------------------------------------------------
函数gf_jqm_loader_setup()
{
var lvo_loader=jQuery(“.ui loader”);
var lvi_loader_z=lvo_loader.css('z-index');
var lvs_style=“”;
lvs_样式+=“位置:固定;”;
lvs_风格+=“左:0%;”;
lvs_风格+=“顶部:0%;”;
lvs_样式+=“宽度:100%”;
lvs_风格+=“高度:100%;”;
lvs_风格+=“背景色:白色;”;
lvs_样式+=“不透明度:.3;”;
lvs_样式+=“显示:无;”;
lvs_样式+=“z-index:”+(lvi_加载程序_z-1)+“;”;
lvo_加载器。在(“”)之前;
}
//-------------------------------------------------
函数gf_toggle_jqm_loader(argb)
{if(argb)
{jQuery.mobile.load('show');
jQuery(“.”+gvn_loader_bg_class).css('display','block');
}
其他的
{jQuery.mobile.load('hide');
jQuery(“.”+gvn_loader_bg_class).css('display','none');
}
}
这是我对jquery mobile css(1.4.2版)所做的更改,以便加载div可以全屏显示
$.mobile.loading( 'show', { text : "loading" ,
textVisible : true ,
theme : 'b' ,
html : ""
}) ;
.ui-loader .ui-icon-loading {
background-color: #000;
display: block;
position: absolute;
top: 50%;
left: 50%;
margin-left: -1.375em;
margin-top: -1.375em;
width: 2.75em;
height: 2.75em;
padding: .0625em;
-webkit-border-radius: 2.25em;
border-radius: 2.25em;
}
.ui-loader-default {
background: none;
filter: Alpha(Opacity=18);
opacity: .18;
}
.ui-loader {
display: none;
z-index: 9999999;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border:0;
}