我正在寻找一个进度条(或没有拇指的滑块,它不会启用交互)。
我想在带有 jQuery mobile 的 iOS/Android/Windows mobile 的 HTML5 项目中使用它。目前不支持在移动浏览器上进行进度。
有没有人有代码或知道插件(我不想只为那个元素集成 jQuery UI)
我正在寻找一个进度条(或没有拇指的滑块,它不会启用交互)。
我想在带有 jQuery mobile 的 iOS/Android/Windows mobile 的 HTML5 项目中使用它。目前不支持在移动浏览器上进行进度。
有没有人有代码或知道插件(我不想只为那个元素集成 jQuery UI)
jQuery Mobile 仍然可以用于此,主要是因为样式可以保持不变。
工作示例:http: //jsfiddle.net/Gajotres/mFqUd/
示例有一个工作演示,所以看看。如果这是您需要的,我将使用它创建一个插件。
此代码将创建在放置和滑块按钮中不可见的滑块:
$('<input>').appendTo('[ data-role="content"]').attr({'name':'slider','id':'slider','data-highlight':'true','min':'0','max':'100','value':'50','type':'range'}).slider({
create: function( event, ui ) {
$(this).parent().find('input').hide();
$(this).parent().find('input').css('margin-left','-9999px'); // Fix for some FF versions
$(this).parent().find('.ui-slider-track').css('margin','0 15px 0 15px');
$(this).parent().find('.ui-slider-handle').hide();
}
}).slider("refresh");
进度条父容器必须.appendTo()....
部分设置。
然后使用此函数更改进度条值并更改其视觉样式:
var progressBar = {
setValue:function(id, value) {
$(id).val(value);
$(id).slider("refresh");
}
}
id
是进度条 ID,value
是需要的值。滑块设置为在 0 到 100 之间工作,因此任何整数值都将计为百分比值。
Gajotres 上面的回答帮助我找到了完美的解决方案。
首先简单地添加一个 jQuery Mobile Slider 元素到你的页面
<input type="range" name="slider-2" id="slider-2" data-highlight="true" min="0" max="100" value="50">
然后神奇的事情发生在 jQuery 上:
$( "#page-progress" ).on( "pagebeforeshow", function( event ) {
$("input").remove();
$(".ui-slider-handle").remove();
$('.ui-slider-track').css('margin','0 15px 0 15px').css('pointer-events','none');
});
这将产生一个进度静态进度条,您可以通过编程方式更改该进度条。用户输入被禁用,因此用户无法拖动进度条。
这对我来说非常有用,因为我想显示一个静态进度条(而不是加载条)。需要额外的工作来以编程方式设置动画或更改。享受!
我用过这些……只用css-tricks
检查这是否是您需要的