jquerymobile 怎样设置slider是否选中的状态
1个回答
推荐于2016-04-12 · 知道合伙人影视综艺行家
关注
展开全部
关于JQueryMobile中Slider的一点研究
滑动条 Slider
给input的设置一个新的HTML5属性为type="range",可以给页面添加滑动条组件,可以指定它的value值(当前值),min和max属性的值配置滑动条。Jquery Mobile会解析这些属性来配置滑动条。当你滑动滑动条时,input会随之更新数值,反之亦然,使你能够很简单的在表单里提交数值。注意要把label的for属性设为input的id值,使他们能够在语义上相关联,并且要用div容器包裹它们,并给他设定data-role="fieldcontain"属性
HTML 代码:
<div data-role="fieldcontain"> <label for="slider">Input slider:</label> <input type="range" name="slider" id="slider" value="0" min="0" max="100" /> </div>
设置min和max属性的值你可以配置滑动条上下能取到的值,而value值是用来指定滑动条初始的位置和input框内的值滑动杆同样对键盘有响应。右箭头,上箭头,Page Up 键可以用来增加当前值,左箭头,下箭头 ,Page Down键则减少当前值。Home 键和 End 键则可以分别调到滑动条的最小值和最大值。
刷新滑动条 Refreshing a slider
如果你想通过js手动控制滑动条,务必调用 refresh 方法刷新滑动条的样式
$("input[type=range]").val(60).slider("refresh");
实现代码如下:
<div data-role="fieldcontain"> <label for="slider">Input slider:</label> <input type="range" name="slider" id="slider" value="0" min="0" max="100" /$amp;>amp;$lt;/div>
在firefox或者chrome中查看html页面代码:
发现经过修饰之后代码如下:
<div class="ui-field-contain ui-body ui-br" data-role="fieldcontain"> <label for="slider">Slider3:</label> <input id="kk" class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset ui-slider-input" type="number" data-type="range" max="100" min="0" value="0" name="slider"> <div class="ui-slider ui-btn-down-c ui-btn-corner-all" role="application"> <a class="ui-slider-handle ui-btn ui-shadow ui-btn-corner-all ui-btn-up-c" #" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="c" role="slider" aria-valuemin="0" aria-valuemax="100" aria-valuenow="34" aria-valuetext="34" title="34" aria-labelledby="kk-label" > <span class="ui-btn-inner ui-btn-corner-all"> <span class="ui-btn-text"$amp;>amp;$lt;/span> </span> </a> </div> </div>
可以发现:
滑块移动的时候,滑块条为a标签实现的,那个输入框为input 类型为number标签。
在网上有哥们咨询怎么实现jquerymobile 的滑块不要那个input输入框。有以下几种方法。
第一种总简单直接隐藏的slider 实现。
如上分析直接使用:$("#kk").hide();
第二种:给一个a标签添加相关的样式实现。
方法一:
html如下:
<!-- slider 1 --> <div class="slider range-slide"> <b>A range slider:</b> <span class="amount"$amp;>amp;$lt;/span> <div id="mm" class="slide" value="30,60" max="100" min="10"$amp;>amp;$lt;/div> </div>
脚本如下:
$(function(){ $(".range-slide").each(function() { var $this = $(this); $(".slide", $this).slider({ values: [30, 60], min: 0, max: 100, range: true, slide: function(event, ui) { $("span.amount", $this).html("" + ui.values[0] + " - " + ui.values[1]); } }); }); });
方法二:html如下:
<!-- 编码式编订 --> <div id="slider_range" > </div>
js脚本如下:
$(function(){ //编码式实现相关的限制 $("#slider_range").slider({ range: 'min', min: 0, max: 40, value: 1, step: 10, slide : function(event, ui){ alert("previous value:"+ $(this).val()); }, stop: function(event, ui){ alert("Current value:"+ $(this).val()); } }); //$("#kk").hide(); });
滑动条 Slider
给input的设置一个新的HTML5属性为type="range",可以给页面添加滑动条组件,可以指定它的value值(当前值),min和max属性的值配置滑动条。Jquery Mobile会解析这些属性来配置滑动条。当你滑动滑动条时,input会随之更新数值,反之亦然,使你能够很简单的在表单里提交数值。注意要把label的for属性设为input的id值,使他们能够在语义上相关联,并且要用div容器包裹它们,并给他设定data-role="fieldcontain"属性
HTML 代码:
<div data-role="fieldcontain"> <label for="slider">Input slider:</label> <input type="range" name="slider" id="slider" value="0" min="0" max="100" /> </div>
设置min和max属性的值你可以配置滑动条上下能取到的值,而value值是用来指定滑动条初始的位置和input框内的值滑动杆同样对键盘有响应。右箭头,上箭头,Page Up 键可以用来增加当前值,左箭头,下箭头 ,Page Down键则减少当前值。Home 键和 End 键则可以分别调到滑动条的最小值和最大值。
刷新滑动条 Refreshing a slider
如果你想通过js手动控制滑动条,务必调用 refresh 方法刷新滑动条的样式
$("input[type=range]").val(60).slider("refresh");
实现代码如下:
<div data-role="fieldcontain"> <label for="slider">Input slider:</label> <input type="range" name="slider" id="slider" value="0" min="0" max="100" /$amp;>amp;$lt;/div>
在firefox或者chrome中查看html页面代码:
发现经过修饰之后代码如下:
<div class="ui-field-contain ui-body ui-br" data-role="fieldcontain"> <label for="slider">Slider3:</label> <input id="kk" class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset ui-slider-input" type="number" data-type="range" max="100" min="0" value="0" name="slider"> <div class="ui-slider ui-btn-down-c ui-btn-corner-all" role="application"> <a class="ui-slider-handle ui-btn ui-shadow ui-btn-corner-all ui-btn-up-c" #" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="c" role="slider" aria-valuemin="0" aria-valuemax="100" aria-valuenow="34" aria-valuetext="34" title="34" aria-labelledby="kk-label" > <span class="ui-btn-inner ui-btn-corner-all"> <span class="ui-btn-text"$amp;>amp;$lt;/span> </span> </a> </div> </div>
可以发现:
滑块移动的时候,滑块条为a标签实现的,那个输入框为input 类型为number标签。
在网上有哥们咨询怎么实现jquerymobile 的滑块不要那个input输入框。有以下几种方法。
第一种总简单直接隐藏的slider 实现。
如上分析直接使用:$("#kk").hide();
第二种:给一个a标签添加相关的样式实现。
方法一:
html如下:
<!-- slider 1 --> <div class="slider range-slide"> <b>A range slider:</b> <span class="amount"$amp;>amp;$lt;/span> <div id="mm" class="slide" value="30,60" max="100" min="10"$amp;>amp;$lt;/div> </div>
脚本如下:
$(function(){ $(".range-slide").each(function() { var $this = $(this); $(".slide", $this).slider({ values: [30, 60], min: 0, max: 100, range: true, slide: function(event, ui) { $("span.amount", $this).html("" + ui.values[0] + " - " + ui.values[1]); } }); }); });
方法二:html如下:
<!-- 编码式编订 --> <div id="slider_range" > </div>
js脚本如下:
$(function(){ //编码式实现相关的限制 $("#slider_range").slider({ range: 'min', min: 0, max: 40, value: 1, step: 10, slide : function(event, ui){ alert("previous value:"+ $(this).val()); }, stop: function(event, ui){ alert("Current value:"+ $(this).val()); } }); //$("#kk").hide(); });
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询